OS.system()-Aufrufe maskieren
Zum Escapen von Dateinamen und Argumenten in os.system()-Aufrufen, wodurch Sonderzeichen effektiv anders behandelt werden Betriebssystemen und Shells wird empfohlen, Bibliotheksfunktionen zu nutzen.
shlex.quote() undpipes.quote()
Python 3-Benutzer können shlex.quote nutzen( ), während diejenigen, die sowohl Python 2 als auch Python 3 verwenden,pipes.quote() verwenden können. Diese Funktionen dienen als effiziente und robuste Optionen zum Escapen von Zeichenfolgen, sodass Sie sie einfach als Parameter an Befehle übergeben können.
Verwendung von shlex.quote() für Python 3:
<code class="python">import shlex escaped_filename = shlex.quote(filename) os.system("cat %s" % escaped_filename)</code>
Verwendung vonpipes.quote() für Python 2 und Python 3:
<code class="python">import pipes escaped_filename = pipes.quote(filename) os.system("cat %s" % escaped_filename)</code>
Überlegungen zur Einfachheit und Sicherheit:
While Da die Verwendung von Anführungszeichen weiterhin eine praktikable Lösung darstellt, ist es wichtig, potenzielle Sicherheitsbedenken zu berücksichtigen. Bei der Verwendung von os.system() ist es wichtig sicherzustellen, dass die Quelle der Eingabezeichenfolgen vertrauenswürdig und nicht anfällig für böswillige Ausnutzung ist.
Das obige ist der detaillierte Inhalt vonWie kann ich Dateinamen und Argumente in os.system()-Aufrufen in Python sicher maskieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!