在 php5.2 中,內(nèi)置了filter 模塊,用于變量的驗證和過濾,過濾變量等操作可以參看我原先提及的,這里我們看下如何直接過濾用戶輸入的內(nèi)容.
fliter 模塊對應(yīng)的 filter_input 函數(shù)使用起來非常的簡單,例如我們過濾用戶輸入名為 sample 的 get 參數(shù)為整型,那么可以這樣寫:
filter_input(input_get, "sample", filter_sanitize_number_int);
filter_input 的參數(shù)分別是用戶輸入類型、對應(yīng)的輸入名稱、以及過濾(驗證)常量,目前 filter_input 支持下面幾種用戶輸入.
- input_get // 對應(yīng) $_get
- input_post // 對應(yīng) $_post
- input_cookie // 對應(yīng) $_cookie
- input_server // 對應(yīng) $_server
- input_env // 對應(yīng) $_env
配合內(nèi)置提供的各種驗證標記符,就可以解決類似的用戶輸入過濾等“體力活”,最后,還是需要再提下 filter 的個不大不小的陷阱.
- filter_var('abc', filter_validate_boolean); // bool(false)
- filter_var('0', filter_validate_boolean); // bool(false)
- //開源軟件:phpfensi.com
php arch 上重新提及 fliter 模塊,的確這個模塊能節(jié)省我們不少的時間,這里再次整理下,$_get 和 $_post 等用戶提供的數(shù)據(jù)如果使用不當,如驗證、過濾不全面,就很容易造成安全問題,通常情況下,我們會編寫“一坨”正則來驗證數(shù)據(jù)格式是否合法.
轉(zhuǎn)載請注明來源:php filter_input函數(shù)哈爾濱品用軟件有限公司致力于為哈爾濱的中小企業(yè)制作大氣、美觀的優(yōu)秀網(wǎng)站,并且能夠搭建符合百度排名規(guī)范的網(wǎng)站基底,使您的網(wǎng)站無需額外費用,即可穩(wěn)步提升排名至首頁。歡迎體驗最佳的哈爾濱網(wǎng)站建設(shè)。
