-4

现在我正在使用 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();
    } 
4

2 回答 2

5

是的,绝对是一个问题。如果黑客确定他们的用户名是,bob';drop table performers;--那么你就有麻烦了。

始终始终使用mysql_real_escape_string()不受信任的数据(或为安全起见,任何数据)。

于 2013-03-23T22:30:00.557 回答
2

除了明显的 SQL 注入漏洞(DuncanNZ 已经描述)还有一个 CSRF 漏洞。

于 2013-03-23T22:35:25.240 回答