使用$_REQUEST 的危險:虛假的便利
雖然$_REQUEST 變數可以提供暫時的緩解,但它掩蓋了一個根本問題:可能會導致潛在的安全漏洞和錯誤
過多Cookie包含的陷阱
與表單提交參數($_GET 和 $_POST)不同,cookie 是不同的實體,不應以相同的方式處理方式。預設情況下,$_REQUEST 結合了所有三個來源:$_GET、$_POST 和 $_COOKIE。當 cookie 名稱與表單參數重疊時,這可能會導致衝突,從而導致該參數被 cookie 的值覆蓋。
當多個應用程式駐留在同一個網站中時,這可能會特別成問題,因為它可能導致到無意的形式故障。即使只有少數用戶維護舊的 cookie,後果也可能難以預測且難以診斷。
降低風險
為了避免這些陷阱,建議避開 $_REQUEST。在需要組合 GET 和 POST 陣列的場景中,最好手動組裝它。
在 PHP 5.3 及更高版本中,您可以透過設定 request_order 配置來變更 $_REQUEST 的預設行為以排除 cookie到「GPC」。但是,如果這不可行,手動建立組合數組仍然是更安全的方法。
以上是為什麼在 PHP 中使用 `$_REQUEST` 有風險?的詳細內容。更多資訊請關注PHP中文網其他相關文章!