如果我只运行SELECT查询,我应该担心sql注入吗?我的网站只有几个输入字段,他们所做的只是查找信息。我从不删除,更新等...
答案 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
,那么您必须担心它,因为用户可以在输入字段中放置任何内容。