2009-04-20 44 views
19

這應該是一個基本的問題,但爲什麼是更好地使用這樣的事情:爲什麼最好使用filter_input()?

$pwd = filter_input(INPUT_POST, 'pwd'); 

而不只是:

$pwd = $_POST['pwd']; 

PS:據我瞭解,過濾器擴展可以用更多的參數一起使用提供額外的衛生等級。

+1

的問題比接受的答案更多的選票。有趣... – sMaN 2014-08-05 10:39:59

回答

13

它不是。 $_GET$_POST$_COOKIE$_REQUESTfiltered with default filter。沒有附加參數的filter_input(INPUT_POST, 'pwd')也使用默認過濾器。所以根本沒有區別。

2

這是從客戶端(如POST數據)發送的任何數據應被拆除並逃脫(甚至更好,理智覈對),以確保其不會殺你的網站。

SQL InjectionCross-site scripting是未能清理用戶發送的數據的兩大威脅。

+0

如果在打印任何用戶提供的數據之前使用參數化查詢和htmlspecialchars(),那麼filter_input()仍然是必需的嗎? – Calvin 2009-04-20 14:27:21

+0

filter_input(INPUT_POST,'pwd'); (沒有任何其他的說法仍然進行消毒價值 – 2009-04-20 14:29:56

相關問題