PHP過濾器

PHP過濾器

PHP 過濾器用於驗證和過濾來自非安全來源的數據,比如用戶的輸入。

簡介


PHP 過濾器用於驗證和過濾來自非安全來源的數據。
驗證和過濾用戶輸入或自定義數據是任何 Web 應用程序的重要組成部分。
設計 PHP 的過濾器擴展的目的是使數據過濾更輕鬆快捷。

功能


幾乎所有 web 應用程序都依賴外部的輸入。這些數據通常來自用戶或其他應用程序(比如 web 服務)。通過使用過濾器,您能夠確保應有程序獲得正確的輸入類型。
您應該始終對外部數據進行過濾!
輸入過濾是最重要的應用程序安全課題之一。

列表


ID 名稱描述
FILTER_CALLBACK調用用戶自定義函數來過濾數據。
FILTER_SANITIZE_STRING去除標籤,去除或編碼特殊字元。
FILTER_SANITIZE_STRIPPED"string" 過濾器的別名。
FILTER_SANITIZE_ENCODEDURL-encode 字元串,去除或編碼特殊字元。
FILTER_SANITIZE_SPECIAL_CHARSHTML 轉義字元 '"<>& 以及 ASCII 值小於 32 的字元。
FILTER_SANITIZE_EMAIL刪除所有字元,除了字母、數字以及 !#$%&'*+-/=?^_`{|}~@.[]
FILTER_SANITIZE_URL刪除所有字元,除了字母、數字以及 $-_.+!*'(),{}|\^~[]`<>#%";/?:@&=
FILTER_SANITIZE_NUMBER_INT刪除所有字元,除了數字和 +-
FILTER_SANITIZE_NUMBER_FLOAT刪除所有字元,除了數字、+- 以及 .,eE
FILTER_SANITIZE_MAGIC_QUOTES應用 addslashes()。
FILTER_UNSAFE_RAW不進行任何過濾,去除或編碼特殊字元。
FILTER_VALIDATE_INT把值作為整數來驗證。
FILTER_VALIDATE_BOOLEAN把值作為布爾選項來驗證。如果是 "1"、"true"、"on" 和 "yes",則返回 TRUE。如果是 "0"、"false"、"off"、"no" 和 "",則返回 FALSE。否則返回 NULL。
FILTER_VALIDATE_FLOAT把值作為浮點數來驗證。
FILTER_VALIDATE_REGEXP根據 regexp(一種兼容 Perl 的正則表達式)來驗證值。
FILTER_VALIDATE_URL把值作為 URL 來驗證。
FILTER_VALIDATE_EMAIL把值作為 e-mail 地址來驗證。
FILTER_VALIDATE_IP把值作為 IP 地址來驗證,只限 IPv4IPv6 或 不是來自私有或者保留的範圍。