1
7
对。攻击者只需编写自己的HTML表单并将其发布到您的URL。甚至还有一个火狐插件(WebDeveloper工具栏),可以在任何页面上将选择字段更改为文本框。 您永远不能信任浏览器发送的数据($_get,$_post,$_cookie,$_request)。始终清除输入内容。 |
2
2
是的,仍然有可能使用选择框进行SQL注入。回发后,客户机实际上可以在选择框的字段中放入他们喜欢的任何内容,而不是 不得不 成为列表中的值之一。 无论输入来自何处,您都应该始终验证输入。现在,除了针对SQL注入(例如参数化查询等)的“标准”防御之外,通过选择框,您可以添加一个额外的检查,确认回发的值实际上是我们在列表中的第一个值之一(这假设您的客户机上没有修改可能值列表的javascript,即奥尔斯) |
3
0
注入不是通过窗体完成的,而是通过处理窗体的PHP完成的。一个人可以将任意数据作为名称/值对发送到您的代码中,而您将无法知道它是来自选择框、输入字段,还是仅仅是现场合成的。 总是 验证来自表单的任何数据。总是假设它被破坏了。 选择框可以帮助您知道应该发送哪些值。如果发送的值不在这个小集合中,那么您知道正在发生一些有趣的事情,您可以安全地丢弃所有输入并给出错误。验证代码中的所有内容是很好的。否则,你就是在自找麻烦,甚至可能是因为你不小心做了什么。 |
cagta · 如何使用此python脚本避免硬编码sql表达式? 6 年前 |
John · MySQL php查询缺陷 6 年前 |
Arunabh · 在不使用预处理语句的情况下摆脱SQL注入 7 年前 |