php filter_input函數

來源:互聯網
上載者:User

在 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 等使用者提供的資料如果使用不當,如驗證、過濾不全面,就很容易造成安全問題。通常情況下,我們會編寫“一坨”正則來驗證資料格式是否合法。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.