繁体   English   中英

是否有可能通过selectbox(动态创建或静态)进行sql注入

[英]is there any chance of sql injection through selectbox( dynamically created or static)

我想知道是否有通过selectbox选项进行SQL注入的机会? 如果是的话,那么请您演示一下(或参考任何链接)。 并告诉我如何防止在selectbox中进行sql注入。(使用PHP MYSQL)

还有一个:如果我动态创建一个选择框(基于另一个选择框的选项),那么是否有可能进行SQLinjection?

感谢您。

是。 攻击者只需编写自己的HTML表单并将其发布到您的URL。 甚至还有Firefox插件(Web开发人员工具栏),可以将选择字段更改为任何页面上的文本框。

您永远无法信任浏览器发送的数据($ _GET,$ _ POST,$ _ COOKIE,$ _ REQUEST)。 始终清理您的输入。

是的,仍然存在带有选择框的SQL注入机会。 在回传,客户端可以居然把任何他们在选择框中的字段一样,它并不一定要在该列表中的一个值。

无论输入来自何处,您都应该始终对其进行验证。 现在,除了针对SQL注入的“标准”防御措施(例如,参数化查询等)之外,您还可以通过选择框添加额外的检查,以确保发回的值实际上是我们首先在列表中找到的值之一(当然,这是假设您在客户端上没有修改可能值列表的javascript)。

注入不是通过表单完成的,而是通过处理表单的PHP完成的。 一个人可以将任何任意数据作为名称/值对发送到您的代码,而您将无法知道它是来自选择框,输入字段还是当场编写的。 始终验证来自表单的任何数据。 始终假定它已被破坏。

选择框确实有助于您知道应该发送哪些值。 如果发送的值不在那个小的集合中,则说明发生了有趣的事情,可以安全地丢弃所有输入并给出错误。 最好验证代码中包含的所有内容。 否则,您可能会遇到麻烦,甚至是偶然发生的事情。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM