首頁 >資料庫 >mysql教程 >`mysql_real_escape_string()` 仍然可以防止 SQL 注入嗎?

`mysql_real_escape_string()` 仍然可以防止 SQL 注入嗎?

Susan Sarandon
Susan Sarandon原創
2024-12-07 14:41:11789瀏覽

Is `mysql_real_escape_string()` Still Secure Against SQL Injection?

mysql_real_escape_string() 是個損壞的函式嗎?

人們對 mysql_real_escape_string() 在緩解 SQL 注入漏洞方面的功效提出了擔憂,儘管正確使用。懷疑論者引用過時的文章作為其缺陷的證據。

mysql_real_escape_string() 仍然可以使用嗎?

為了回答這個問題,我們深入研究了 MySQL C API 文件mysql_real_escape_string():

"如果需要改變字元設定連接,使用 mysql_set_character_set() 而不是執行 SET NAMES。 () 影響mysql_real_escape_string()使用的字符集。因此,您應該使用 mysql_set_charset() 來更改 PHP 應用程式中的編碼。

結論:

mysql_real_escape_string()
雖然mysql_real_escape_string() 可能尚未完全損壞,但必須與mysql_set_character_set() 結合使用以確保正確的字元集結合使用並防止潛在的SQL 注入漏洞。

以上是`mysql_real_escape_string()` 仍然可以防止 SQL 注入嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn