程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php filter_input函數

php filter_input函數

編輯:關於PHP編程

 

在 php教程5.2 中,內置了filter 模塊,用於變量的驗證和過濾。

過濾變量等操作可以參看我原先提及的,這裡我們看下如何直接過濾用戶輸入的內容。

fliter 模塊對應的 filter_input 函數使用起來非常的簡單,例如我們過濾用戶輸入名為 sample 的 get 參數為整型,那麼可以這樣寫

filter_input(input_get, "sample", filter_sanitize_number_int);
filter_input 的參數分別是用戶輸入類型、對應的輸入名稱、以及過濾(驗證)常量。目前 filter_input 支持下面幾種用戶輸入

input_get // 對應 $_get
input_post // 對應 $_post
input_cookie // 對應 $_cookie
input_server // 對應 $_server
input_env // 對應 $_env
配合內置提供的各種驗證標記符,就可以解決類似的用戶輸入過濾等“體力活”。

最後,還是需要再提下 filter 的個不大不小的陷阱

filter_var('abc', filter_validate_boolean); // bool(false)
filter_var('0',   filter_validate_boolean); // bool(false)


 php arch 上重新提及 fliter 模塊,的確這個模塊能節省我們不少的時間,這裡再次整理下。

$_get 和 $_post 等用戶提供的數據如果使用不當,如驗證、過濾不全面,就很容易造成安全問題。通常情況下,我們會編寫“一坨”正則來驗證數據格式是否合法。


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved