2013-03-23 46 views
-4

現在,我使用的是MySQL查詢,以檢查用戶是否存在,如果是重定向的頁面。什麼都沒有被回顯出來,重定向也沒有涉及查詢中的任何數據。我不能完全理解其中可能存在的風險,所以我只是想確保有不是我不明白。謝謝!是不受保護的mysql查詢總是一個問題?

if (mysql_num_rows(mysql_query("SELECT * FROM performers WHERE username='".$_GET['username']."' AND acct_type='group'")) > 0) { 
     header('Location: gprofile.php?username='.$_GET['username']); 
     exit(); 
    } 
+3

,除非有人讓你的用戶的所有信息之前丟棄整個數據庫都沒有一個關心你...是啊,它總是一個問題 – PeeHaa 2013-03-23 22:28:51

+2

'yourWebPage.com/?username=」 OR 1 = 1; DELETE FROM performers; - 'etc etc – 2013-03-23 22:30:23

+0

積分。我想我也沒多想刪除的可能性... – 2013-03-24 03:31:16

回答

5

是的,絕對值得關注。如果黑客決定他們的用戶名是bob';drop table performers;--那麼你就麻煩了。

總是總是使用mysql_real_escape_string()對不可信數據(或爲了安全,任何數據)。

+2

http://xkcd.com/327/相關。 – 2013-03-23 22:33:10

+0

@托馬斯耶,這是一個很好的:) – stackunderflow 2013-03-23 22:33:30

2

此外刺目的SQL注入漏洞(由DuncanNZ已經描述過)是有漏洞CSRF太。