想知道如果TRIM(),用strip_tags()和addslashes的组合()就足以过滤从$ _GET和$ _POST过滤用户输入
Q
过滤用户输入
0
A
回答
2
这取决于您希望执行哪种验证。
下面是一些基本的例子:
- 如果数据将在MySQL的查询使用请确保对数据使用mysql_real_escape_query(),而不是addslashes()的。
- 如果它包含文件路径,请务必删除“../”部分并阻止对敏感文件名的访问。
- 如果您要在网页上显示数据,请确保在其上使用htmlspecialchars()。
但最重要的验证只接受你期待值,换言之:只允许数字值,当你期待号码等
1
简短的回答变量值:无。
长答案:这取决于。
基本上,你不能说如果没有考虑你想用它做什么,一定量的过滤是或不够的。例如,以上将允许通过“javascript:dostuff();”,这可能是好的,或者如果您碰巧在链接的href属性中使用GET或POST值之一,则可能不会。
同样,您可能有一个丰富的文本区域,用户可以在其中进行编辑,因此剥离标签不完全合理。
我想我想说的是,有一套简单的步骤来消毒数据,以便您可以将其交叉并说“已完成”。你总是必须考虑数据在做什么。
1
它高度依赖于你将要使用它的地方。
- 如果您打算以HTML格式显示内容,请确保您正确指定了编码(例如:UTF-8)。只要你去掉所有的标签,你应该应该罚款。
- 对于在SQL查询中使用,addslashes是不够的!例如,如果您使用mysqli库,则需要查看mysql::real_escape_string。对于其他DB库,请使用指定的转义函数!
- 如果你打算在javascript中使用字符串,addslashes 不会就够了。
- 如果您对浏览器错误偏执,请查看OWASP Reform library
- 如果您在HTML以外的其他上下文中使用数据,则会应用其他转义技术。
相关问题
- 1. 过滤用户输入
- 2. KnockoutJS - 过滤用户输入
- 3. 通过用户输入过滤ObservableCollection
- 4. 使用过滤日期过滤用户输入
- 5. PHP - 当过滤用户输入
- 6. 将用户输入过滤为CSS
- 7. 用户输入过滤表行
- 8. 过滤快速用户触摸输入
- 9. EXCEL VBA过滤器用户输入
- 10. PHP中的用户输入过滤
- 11. 基于用户输入过滤jqgrid
- 12. 过滤用户输入的做法
- 13. 用户输入过滤 - 我需要过滤HTML吗?
- 14. 通过AJAX向用户报告已过滤的用户输入
- 15. 如何限制用户输入剑道过滤器输入?
- 16. nodejs过滤输入
- 17. Apigility输入过滤注入
- 18. 通过用户输入矩阵过滤列/行数据-matlab
- 19. Laravel:通过可选的用户输入进行口头过滤
- 20. 如何过滤用户输入字符串并存储新的过滤数组
- 21. Java:使用nextInt()过滤掉用户输入
- 22. 用于过滤用户输入内容的Java库?
- 23. 使用jQuery过滤基于用户输入的列表
- 24. 使用用户输入的值来过滤值(Pandas,Python 3)
- 25. 在d3.js中过滤CSV记录根据用户输入输入/更新
- 26. 输入后过滤PHP
- 27. ZF2:在输入过滤
- 28. ActiveAdmin过滤排除输入
- 29. python过滤输入到csv.reader
- 30. 按频率过滤输入
这取决于你与你的GET做什么,并POST值。 – voyager 2009-12-09 03:33:55