2014-10-02 90 views
0

如果我想驗證用戶輸入,是否有必要事先進行消毒?消毒前的用戶輸入驗證?

$age = $_POST['age']; 
if ($age == 18) { 
    echo 'is 18'; 
} 
else 
{ 
    echo 'Is not 18'; 
} 

這個例子是否讓我容易受到攻擊?我應該在if/else塊之前對消息進行過濾嗎?

$年齡=ヶ輛($ _ POST [ '年齡'])

$年齡=的stripslashes($ _ POST [ '年齡'])

+0

請務必先清理。 – 2014-10-02 15:41:04

+0

@JayBlanchard你能解釋爲什麼如果我不打算輸出輸入或將其添加到數據庫?謝謝 – iCode101 2014-10-02 15:45:50

+0

這只是一個好習慣。 – 2014-10-02 16:18:05

回答

1

這裏沒有任何攻擊的可能性。輸入字符串不會被評估爲代碼或以其他方式嘗試以任何方式執行。你只是比較一個字符串與另一個字符串/數字,這是一個安全的操作。