我应该在SELECT查询的情况下担心sql注入

时间:2013-06-18 21:13:01

标签: php mysql

如果我只运行SELECT查询,我应该担心sql注入吗?我的网站只有几个输入字段,他们所做的只是查找信息。我从不删除,更新等...

4 个答案:

答案 0 :(得分:2)

您尝试做什么样的查询并不重要。 SQL注入可以结束您的查询并启动另一个查询,可以是DELETE,UPDATE或INSERT。这是Little Bobby Tables

的教训

答案 1 :(得分:1)

是的,你必须担心。在PHP或您使用的任何脚本中执行哪些查询都无关紧要。恶意用户可以提交类似"; DROP DATABASE的内容,您会为此感到抱歉。

答案 2 :(得分:1)

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

使用PHP非常简单,可以保护您的站点/系统/项目。

使用mysql_real_escape_string了解此official documentation以及此{tempnique和here的示例,以及如何避免此问题。

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

请参阅this example其工作原理。

答案 3 :(得分:-1)

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