0

If I only run a SELECT query, should I worry about sql injection? My site has only a few input fields, and all they do is look up information. I never delete, update, etc...

4

4 回答 4

2

您尝试执行哪种查询并不重要。SQL 注入可以结束您的查询并启动另一个查询,这可能是 DELETE、UPDATE 或 INSERT。这是Little Bobby Tables的教训

于 2013-06-18T21:17:25.443 回答
1

是的,你必须担心。您在 PHP 中执行什么查询或使用任何脚本都没有关系。一个邪恶的用户可以提交类似的东西"; DROP DATABASE,你会为此感到抱歉。

于 2013-06-18T21:17:02.713 回答
1

是的你应该。SQL 注入与原始查询的内容无关。它可以在您的查询中注入任何子句的任何命令。

在 PHP 上使您的站点/系统/项目受到保护非常简单。

看看这个官方文档,看看这个技术的例子,在这里,如何避免它,使用mysql_real_escape_string.

更新:我曾经' or 1=1 or ''='在登录页面的用户名和密码字段上使用过它。它会产生这样的查询,select * from user where username = '' or 1=1 or ''='' and password = '' or 1=1 or ''=''并可能返回一条记录。

请参阅此示例以了解其工作原理。

于 2013-06-18T21:18:20.553 回答
-1

如果您要SELECT基于用户的输入,那么您必须担心它,因为用户可以在输入字段上放置任何内容。

于 2013-06-18T21:15:20.103 回答