回答
我们需要更多地了解您的情况。怎么样脆弱?有些事情你应该总是做的:将它们存储在数据库中不明来源的打印他们回来时给用户以防范SQL注入
- 逃亡串,防止恶意的HTML/JavaScript的
我永远不会执行用户提供的php。 BBCode/UBBCode很好,因为它们被转换为语义正确的html,尽管您可能想要查看与格式错误的图像标签相关的XSS漏洞。如果您允许HTML输入,您可以将某些元素列入白名单,但这将是一个容易出错的复杂方法。所以,鉴于上述所有情况,我会说使用一个好的现成的BBCode库是你最好的选择。
有很多BB代码解析器可以净化HTML等输入。如果没有可用的软件包,那么您可以查看一个开源论坛软件包以获取指导。
BB代码很有意义,因为它是论坛的“标准”。
最容易受到攻击的输入是“非输入”。
你问的是正确的问题吗?
任何种类的布尔值。
你甚至可以很容易地过滤无效输入。
;-)
没有一个是。所有预计在服务器上的数据都可以被那些有知识和动机的人操纵。您希望人们使用的浏览器和表单只是向您的服务器/脚本提交数据的几种有效方式之一。
请与XSS的话题和相关问题
熟悉(我刚刚发布这评论,但似乎没有多少人会下选择列表,单选按钮等的印象不需要消毒。)
不要指望单选按钮是安全的。您仍然应该清理服务器上的数据。人们可以在他们的本地机器上创建一个html页面,并创建一个与您的单选按钮同名的文本框,并将这些数据回传。
更高级的用户可以使用像WebScarab这样的代理服务器,并且只需在将参数发布回服务器时对参数进行调整即可。
一个好的经验法则是总是使用参数化的SQL语句,并总是越狱用户生成的数据将其放入HTML之前。
为了Odin的缘故,请不要清理输入。不要害怕用户将任何他们想要的东西输入到您的表单中。
用户输入不是固有的不安全。接受的答案会导致像我的银行这样的网络界面,O'Reilly先生无法开立账户,因为他的名字中有非法字符。什么是不安全的总是如何使用用户输入。
避免SQL注入的正确方法是使用预准备语句。如果你的数据库抽象层不让你使用这些,严格使用正确的转义函数(myslq_escape et al)。 防止XSS攻击的正确方法永远不会像striptags()那样。转义所有东西 - 在PHP中,类似htmlentities()的东西就是你要找的东西,但它取决于你输出的字符串是HTML文本的一部分,HTML属性还是Javascript内部等。使用正确的工具为正确的上下文。永远不要将用户的输入直接打印到页面上。
最后,看看Web应用程序的前10个漏洞,并做正确的事情来阻止它们。 http://www.applicure.com/blog/owasp-top-10-2010
- 1. 为什么MySQL更容易受到SQL注入攻击
- 2. SQL Server 2008表值是否容易受到SQL注入攻击?
- 3. 这个站点容易受到SQL注入攻击吗?
- 4. 这是查询容易受到SQL注入攻击
- 5. 此代码是否容易受到SQL注入攻击?
- 6. _frontendCSRF cookie似乎很容易受到SQL注入攻击
- 7. Nhibernate易受SQL注入攻击吗?
- 8. XSS DOM易受攻击
- 9. 为什么我的代码容易受到xss攻击?
- 10. 此C用户输入代码是否易受攻击?
- 11. 这段代码是否容易受到黑客攻击?
- 12. 在XML中使用CDATA元素容易受到攻击?
- 13. 使系统/程序容易受到攻击
- 14. SOAP web服务是否容易受到CSRF攻击?
- 15. ASP.NET MVC UpdateModel容易受到黑客攻击?
- 16. ASP.NET MVC是否容易受到Oracle填充攻击?
- 17. 是我的SQL查询容易受到SQL注入或其他攻击
- 18. 基于Flex/Flash的应用程序是否容易受到XSS攻击?这种攻击发生的各种方式有哪些?
- 19. 易受攻击的PHP代码示例?
- 20. 防止输入型攻击
- 21. Google App Engine应用程序是否容易受到SQL注入攻击?
- 22. 是否Spring - SpEL易受攻击?
- 23. 未经认证的网站是否容易受CSRF攻击?
- 24. 安全 - 某种类型的jQuery攻击?
- 25. 介绍各种攻击类型
- 26. 无法点击datepicker元素哪种类型的输入文本
- 27. 测试一个网站是否易受Sql注入攻击
- 28. InvalidMediaTypeException - 我受到攻击吗?
- 29. JSON劫持注入 - 避免的最佳实践 - 哪些浏览器易受攻击?
- 30. 哪些易受攻击的网站包可用于测试目的?
脆弱性到底是什么?黑客?跨站脚本? SQL注入? – wcm 2008-10-01 18:49:32
跨站点拼写和SQL注入。对不起,我想我在问题中提到了它(分心了,当我回来时,我没有检查我写的内容是否提交了提交)。 – Iwasakabukiman 2008-10-01 18:52:53
如果你可以编辑实际的问题并把它放在那里,那将会很棒。你能否通过“输入”来澄清你的意思?我的第一反应是你的意思是什么类型的表单控件是最不易受攻击的,在这种情况下,我不得不说单选按钮! – 2008-10-01 18:55:11