我消毒是頁輸出的所有用戶輸入,例如:清理數據PHP - 我需要轉義內部if語句的用戶輸入嗎?
echo escape($user_input);
我有一個關於不輸出到頁面的,但裏面的語句用戶輸入的問題 - 他們需要逃脫?
這是正確的:
if ($user_input == 'something') { echo escape($another_user_input); }
或者它應該是:
if (escape($user_input) == 'something') { echo escape($another_user_input); }
方法,能比這個簡單的例子添加更多faff其他邏輯(foreach循環等)同樣的問題。
插入數據庫之前的第二個值,以便從任何錯誤代碼中清除該值。例如,用戶名!第一個是評論之類的東西,你接受用戶的輸入並打印出來並使用htmlspecialchars! –
@MrPro Wut ?!爲什麼? – deceze
如果只是將它們與預定義的字符串進行比較,則在轉義輸入時幾乎沒有用處。 'echo'行應該被轉義,並且你應該確保沒有任何東西可以破壞頁面中的HTML或插入惡意腳本,所以在這種情況下,我認爲只是'逃避'是不夠的。 –