本文實(shí)例分析了php中filter_input函數(shù)用法。分享給大家供大家參考。具體分析如下:
在 php5.2 中,內(nèi)置了filter 模塊,用于變量的驗(yàn)證和過(guò)濾,過(guò)濾變量等操作,這里我們看下如何直接過(guò)濾用戶輸入的內(nèi)容.
fliter 模塊對(duì)應(yīng)的 filter_input 函數(shù)使用起來(lái)非常的簡(jiǎn)單,例如我們過(guò)濾用戶輸入名為 sample 的 get 參數(shù)為整型,那么可以這樣寫:
復(fù)制代碼 代碼如下:filter_input(input_get, sample, filter_sanitize_number_int);
filter_input 的參數(shù)分別是用戶輸入類型、對(duì)應(yīng)的輸入名稱、以及過(guò)濾(驗(yàn)證)常量,目前 filter_input 支持下面幾種用戶輸入:
復(fù)制代碼 代碼如下:input_get // 對(duì)應(yīng) $_get
input_post // 對(duì)應(yīng) $_post
input_cookie // 對(duì)應(yīng) $_cookie
input_server // 對(duì)應(yīng) $_server
input_env // 對(duì)應(yīng) $_env
配合內(nèi)置提供的各種驗(yàn)證標(biāo)記符,就可以解決類似的用戶輸入過(guò)濾等“體力活”,最后,還是需要再提下 filter 的個(gè)不大不小的陷阱.
復(fù)制代碼 代碼如下:filter_var('abc', filter_validate_boolean); // bool(false)
filter_var('0', filter_validate_boolean); // bool(false)
php arch 上重新提及 fliter 模塊,的確這個(gè)模塊能節(jié)省我們不少的時(shí)間,這里再次整理下,$_get 和 $_post 等用戶提供的數(shù)據(jù)如果使用不當(dāng),如驗(yàn)證、過(guò)濾不全面,就很容易造成安全問(wèn)題,通常情況下,我們會(huì)編寫“一坨”正則來(lái)驗(yàn)證數(shù)據(jù)格式是否合法.
希望本文所述對(duì)大家的php程序設(shè)計(jì)有所幫助。
更多信息請(qǐng)查看IT技術(shù)專欄