在PHP 中呼叫Python:謹慎使用system() 或popen()
透過命令列選項呼叫Python 腳本PHP Web 介面,請考慮以下建議:
system()或popen()
如果 Python 腳本沒有輸出或其輸出應直接顯示在瀏覽器中,請使用 system()。如果需要與腳本的標準輸入或輸出交互,請使用 popen()。
proc_open()
如果需要 PHP 程式與Python 腳本 proc_open() 提供了此功能。但是,謹慎行事以避免潛在的死鎖至關重要。
安全問題
將使用者提供的資料傳遞到 Python 腳本時,必須解決以下風險:命令注入。確保您的程式碼徹底清理輸入以防止惡意意圖。像 escapeshellarg() 或 escapeshellcmd() 這樣的函數可以幫助完成此過程,但通常建議刪除任何未被識別為有效的字元。考慮使用以下模式:
preg_replace('/[^a-zA-Z0-9]/', '', $str)
透過採用這些建議,您可以有效地從 PHP 呼叫 Python 腳本,而不會影響安全性或功能。
以上是如何使用'system()”、'popen()”或'proc_open()”從 PHP 安全地呼叫 Python?的詳細內容。更多資訊請關注PHP中文網其他相關文章!