克服 Subprocess.Popen() 中變數傳遞的陷阱
在許多腳本中,都會需要使用參數來呼叫外部程式。當這些參數儲存在變數中時,subprocess.Popen() 可能會出現問題。雖然看起來很簡單,但此過程可能會受到某些陷阱的阻礙。
使用 shell=True 時會出現這樣的一個陷阱。此選項在 Unix 系統上以不同方式處理參數,從而導致意外行為。要應對此挑戰,建議刪除 shell=True。
考慮以下場景:
透過這種方法,可以處理參數準確地,允許外部程式接收預期的輸入。
它是需要注意的是,為具有外部輸入的命令設定 shell=True 會帶來安全隱患。正如子流程文件中所解釋的,這種做法可能會使您的腳本面臨潛在的漏洞。
以上是如何安全地將變數傳遞給`subprocess.Popen()`而不存在安全風險?的詳細內容。更多資訊請關注PHP中文網其他相關文章!