2013-03-14 60 views
0

夥計們,我是mysql安全新手,當我在google上搜索這個問題時,很多人都警告我們應該檢查mysql字符串以查看它是否包含'否則您有冒險得到mysql數據庫注入,但他們沒有說明爲什麼?你能告訴我原因嗎?非常感謝你。爲什麼包含'的MYSQL字符串不安全?

+2

您需要在將字符串插入mySQL數據庫之前轉義字符串。就這樣。看看它是否包含'''是沒有必要的。有關更多信息,請告訴我們您使用什麼平臺訪問數據庫 - 每種編程語言/數據庫庫都有其轉義數據的方法。 – 2013-03-14 10:56:50

+4

http://xkcd.com/327/ – 2013-03-14 10:57:25

+0

使用一些採用字符串並直接將它們用作批處理的API是很危險的。但是你今天很少使用這樣的API。它完全取決於您的應用程序代碼和庫。 – 2013-03-14 10:58:37

回答

0

想象一下你有一個用戶表和一個登錄表單。通常,當你在用戶登錄要確定他是否有一筆賬:

這是很不好的PHP:

"SELECT * FROM users WHERE username = '$username' AND password = MD5('$password');" 

現在你已擁有了用戶

1' 的用戶; DROP TABLE用戶;#

會發生什麼情況?

+0

哦,我的天啊。我現在知道原因!非常感謝你,除了過濾',還有什麼我應該注意的事情嗎?再次感謝你! – 2013-03-18 06:51:39