Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
这是什么意思;处理不正确的查询程序集“;在SQL注入中?_Sql_Security_Sql Injection - Fatal编程技术网

这是什么意思;处理不正确的查询程序集“;在SQL注入中?

这是什么意思;处理不正确的查询程序集“;在SQL注入中?,sql,security,sql-injection,Sql,Security,Sql Injection,我读的书是关于“SQL注入的”,所以我弄脏了书名 “未正确处理查询程序集”“这是什么意思?你能给我一个示例代码吗?谢谢。我想您可能已经理解了SQL注入。处理不正确的查询程序集似乎意味着查询字符串的构造不正确 想象一个简单的场景,在这个场景中,您编写了一个查询来列出(已登录)用户的全部详细信息。让我们 String part1="SELECT * FROM TRANSACTIONS WHERE TAG=' "; part2=" ' AND ID=' "; part3=" ';"; //Constr

我读的书是关于“SQL注入的”,所以我弄脏了书名
未正确处理查询程序集”“这是什么意思?你能给我一个示例代码吗?谢谢。

我想您可能已经理解了SQL注入。处理不正确的查询程序集似乎意味着查询字符串的构造不正确

想象一个简单的场景,在这个场景中,您编写了一个查询来列出(已登录)用户的全部详细信息。让我们

String part1="SELECT * FROM TRANSACTIONS WHERE TAG=' ";
part2=" ' AND ID=' ";
part3=" ';";
//Constructing query with user inputted tag and user ID
String query=part1+ user_entered_tag + part2 + user_id + part3;
//This is an unsafe construction of query.
如果用户按如下方式输入标签:

SELECT * FROM TRANSACTIONS WHERE TAG='Abc' OR '2'='2' OR '1'='1' AND ID='544678';
Abc'或'2'='2'或'1'='1

查询将如下所示:

SELECT * FROM TRANSACTIONS WHERE TAG='Abc' OR '2'='2' OR '1'='1' AND ID='544678';
如果随后执行查询,将获取所有事务


因此,未经授权的人将有权访问数据。这是因为在构造查询时留下了一个漏洞。开发人员应该通过添加类型检查或使用预处理语句等内置功能来避免这种注入。

我不知道你所说的“,”是什么意思,但你的书没有解释它是什么吗?当然,如果你的书中有关于它的章节,它至少解释了它是什么,还有一些例子……也就是说,书中有一个标题提到了“错误处理的查询程序集”。