最近棄用 FILTER_SANITIZE_STRING 和 FILTER_SANITIZE_STRSTRIPPED 進行常數開發人員的擔憂
不建議使用什麼以及為什麼?
FILTER_SANITIZE_STRING 和 FILTER_SANITIZE_STRIPPED 先前用於從輸入字串中刪除潛在的 XSS 漏洞。然而,這些過濾器表現出令人困惑和不直觀的行為。 FILTER_SANITIZE_STRING 刪除了「
PHP 社群確定這些過濾器造成的混亂比它們解決的問題還要多,因為開發人員經常誤解它們的預期用途。其他過濾器(例如 FILTER_UNSAFE_RAW)已充分處理輸入清理。
替換選項
有多種選項可以取代這些已棄用的內容filters:
function filter_string_polyfill(string $string): string { $str = preg_replace('/\x00|<[^>]*>?/', '', $string); return str_replace(["'", '"'], ['&#39;', '&#34;'], $str); }
記住黃金法則
重要的是要強調輸入清理不應被視為針對XSS 攻擊的可靠防禦。相反,開發人員應該專注於轉義輸出,以防止潛在危險的內容被注入到頁面中。以上是PHP 的 FILTER_SANITIZE_STRING 棄用:最佳替代選項是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!