我讀了很多關於常見SQL注入的東西,所以對如何解決它們感興趣。在我剛剛使用 addslashes()
之前,我認爲它很合適。然後我發現mysql(i)_real_escape_string()
比addslashes()
更有用和可信。從那時起我使用mysqli_real_escape_string()
,但最近我陷入了一些我還沒有真正理解的東西。 我有一些關於發送數據到MySQL和字符集的問題。 因此,我再次搜索,許多用戶表示SET NAMES UTF8
是讓所有事情順利進行的方法。 但後來我讀到,使用該查詢使得mysqli_real_escape_string()
無法正常工作。轉義sql語句的正確方法是什麼?
所以畢竟我有點困惑。
轉義sql語句的正確方法是什麼?
使用SET NAMES UTF8
有什麼可能的漏洞利用?
是mysqli_set_charset()
使連接在指定字符集中通信的正確方法是什麼?
使用mysqli_sey_charset()
是mysql的內部變量cchanged在這個過程中嗎?
感謝
請編輯您的文章,並在'mysqli_real_escape_string()'處理之前和之後包含SQL示例。 – 2012-08-08 11:42:25