我正在學習mysql,它涉及的主題之一是處理用戶輸入時的安全問題 - 一個問題是注入攻擊。我試圖複製本書演示的攻擊,如添加查詢$query = "select * from temp_table; drop table temp_table
,我使用了mysqli_query($connection,$query)
。什麼都沒發生。我改爲使用mysqli_multi_query()
並發現它執行了兩個語句。最後我發現mysqli_query
每次只運行一個查詢。SQL注入攻擊 - 使用mysqli_multi_query()
我的問題是,如果我用mysqli_query
,從理論上講,系統不應該擔心額外的語句注入攻擊嗎?或者,即使服務器正在使用mysqli_query
,用戶仍然可以運行其他任何方式?
感謝您的幫助和建議!
「系統不應該擔心額外的語句注入攻擊?」 ---這是正確的。這就是關於「小桌子」的漫畫是烏托邦式的原因。 – zerkms
請閱讀此答案:http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php –
非常感謝你! :) – ming