PHP過濾器介紹
這個PHP過濾器是用來驗證和過濾數據從非安全來源的,如用戶輸入。
安裝
由於PHP 5.2.0中,過濾功能默認情況下啟用。 有沒有使用這些功能需要安裝。
運行時配置
這些函數的行為受php.ini的設置:
名稱 | 描述 | 默認 | 多變 |
---|---|---|---|
filter.default | 過濾所有的$ _GET,$ _ POST,$ _ COOKIE,$ _REQUEST和$ _ SERVER數據通過這個過濾器。 接受你喜歡默認使用過濾器的名稱。 見過濾器列表過濾器名稱列表 | “unsafe_raw” | PHP_INI_PERDIR |
filter.default_flags | 當過濾器的默認設置默認標誌申請。 這是為了向後兼容的原因設置為FILTER_FLAG_NO_ENCODE_QUOTES默認 | 空值 | PHP_INI_PERDIR |
PHP 5過濾功能
功能 | 描述 |
---|---|
filter_has_var() | 檢查是否存在指定的輸入類型的變量 |
filter_id() | 返回指定過濾器名稱的過濾器ID |
filter_input() | 獲取外部變量(eg from form input)以及任選的過濾器它 |
filter_input_array() | 獲取外部變量(eg from form input)以及任選的過濾他們 |
filter_list() | 返回所有支持的過濾器的列表 |
filter_var_array() | 獲取多個變量,並將其篩選 |
filter_var() | 過濾出該變量與指定的過濾器 |
PHP 5預定義過濾器常量
不變 | ID | 描述 |
---|---|---|
FILTER_VALIDATE_BOOLEAN | 258 | 驗證一個布爾 |
FILTER_VALIDATE_EMAIL | 274 | 驗證電子郵件地址 |
FILTER_VALIDATE_FLOAT | 259 | 驗證一個浮動 |
FILTER_VALIDATE_INT | 257 | 驗證一個整數 |
FILTER_VALIDATE_IP | 275 | 驗證IP地址 |
FILTER_VALIDATE_REGEXP | 272 | 驗證正則表達式 |
FILTER_VALIDATE_URL | 273 | 驗證網址 |
FILTER_SANITIZE_EMAIL | 517 | 刪除所有非法字符從E-mail地址 |
FILTER_SANITIZE_ENCODED | 514 | 刪除/特殊字符進行編碼 |
FILTER_SANITIZE_MAGIC_QUOTES | 521 | 應用addslashes() |
FILTER_SANITIZE_NUMBER_FLOAT | 520 | 刪除所有字符,除了數字,+ - 和可選,EE |
FILTER_SANITIZE_NUMBER_INT | 519 | 除了刪除數字和+所有字符 - |
FILTER_SANITIZE_SPECIAL_CHARS | 515 | 刪除特殊字符 |
FILTER_SANITIZE_FULL_SPECIAL_CHARS | ||
FILTER_SANITIZE_STRING | 513 | 刪除標籤/特殊字符從字符串 |
FILTER_SANITIZE_STRIPPED | 513 | FILTER_SANITIZE_STRING的別名 |
FILTER_SANITIZE_URL | 518 | 去除的URL的所有非法字符 |
FILTER_UNSAFE_RAW | 516 | 什麼都不做,可選帶/編碼的特殊字符 |
FILTER_CALLBACK | 1024 | 調用用戶定義的函數來過濾數據 |