当使用 get() 数据或用户输入的数据时,我知道您永远不应该信任输入,并且始终确保在 mysql 查询或类似内容中使用数据之前先对其进行清理。
但是当它不是用户输入时怎么办?就像如果您有一个带有 3 个不同输入的单选按钮和一些隐藏字段,并且您通过 POST 发送它?您是否仍然应该清理从 $_POST 获取的数据,或者它是否安全?因为您知道自己应该获得的值,因为您自己设置了单选按钮和隐藏字段的值?
我已经构建了我的脚本,以便我始终对数据进行清理,但我想知道如果不进行清理它是否安全,因为您真的没有得到任何使用输入?
最佳答案
是的,无论如何您都应该进行清理,因为有人可以在提交表单之前修改 HTML。
在较新的浏览器上,您可以右键单击 -> 检查元素,这允许用户根据自己的需要修改 HTML 页面,他们可以修改您的隐藏字段或选择他们认为合适的值。
这是关于该主题的另一个线程:Are drop down select fields vulnerable to any sort of injection
注意:对所有查询使用准备好的语句,这是一个好习惯,并将确保您的查询始终得到清理。
关于php - 应该清理按钮中的 _post 数据吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23253301/