這個問題一直在我腦海中演變,我如何完全阻止用戶輸入一些瘋狂的SQL注入。是不是mysql_real_escape_string強大到足以阻止它?我遵循了一些指導原則,雖然有些用戶在這裏批評我的代碼,併爲我的安全性給了我大拇指。我無法理解它背後的原因。雖然我沒有使用$ _GET,但唯一的用戶輸入是通過評論系統。我只是想確保我不會出錯。這裏是我的示例代碼。幫助我阻止用戶輸入有害代碼
$name = htmlspecialchars(strip_tags(mysql_real_escape_string($_POST['com_name'])));
我對5個字段使用了相同的內容。你對我的上面的代碼有什麼看法?
我不希望我的用戶輸入任何html或javascript代碼,它應該只是這個項目的普通文本。你不覺得我的代碼正在照顧它嗎? – 2010-09-11 09:05:59
您的通用代碼應允許用戶將任何(有效)數據插入到數據庫中。如果你需要額外的過濾,那麼你應該在單獨的驗證階段進行,而不是在數據庫中輸入。 – Quamis 2010-09-11 09:33:08
@Quamis我想這就是我正在做的,我先過濾代碼,然後將它傳遞給數據庫,我從來沒有將它直接傳遞給數據庫。糾正我,如果我錯了。 – 2010-09-11 09:47:56