我正在查看一些SQL代码:
txtUserId = getRequestString("UserId");
txtSQL = "SELECT * FROM Users WHERE UserId = " + txtUserId;
我知道在php中它使用$ _GET或$ _POST来检索以表格形式输入的值,所以我只是想知道第一个语句检索值所用的语言是什么?
答案 0 :(得分:1)
我将确切地回答这个问题。不,不是语言问题,而是该代码段的实际,重要部分。
不要对SQL注入攻击敞开大门。
该代码将UserId的文本内容直接放入SQL语句中。这意味着某人可以输入以下内容:
UserId=-1 or (1=1)
...并获得整个表格。或者:
UserId=-1; NewSQLStatementStartsHere
...并开始在服务器上运行恶意SQL语句。
切勿将原始值注入SQL。始终使用参数化值。 SQL注入攻击仍然是软件安全漏洞的第一大原因。