如何在JSP/Servlet Web应用程序中防止XSS攻击?
我在当前项目中遇到了问题:用户可以使用textarea发送电子邮件.我们允许用户输入他们想要的内容,从而允许用于格式化的HTML.例如,应允许用户将<b>标记用于粗体文本.
完成电子邮件后,用户应该能够动态查看其电子邮件的预览.
但是有一个小问题,如何在显示预览时避免XSS黑客攻击?
您可以使用它们去除它们underscore.js,但这不会格式化它们的预览.
因此,我已禁止所有HTML标签,现在,只允许像标签<hr>,<b>等等.
您对此解决方案有何看法?它足够安全吗?
我正在开发一个用户可以响应博客条目的Web应用程序.这是一个安全问题,因为它们可以发送危险数据,这些数据将呈现给其他用户(并由javascript执行).
他们无法格式化他们发送的文本.没有"大胆",没有颜色,没有任何东西.只是简单的文字.我想出了这个正则表达式来解决我的问题:
[^\\w\\s.?!()]
Run Code Online (Sandbox Code Playgroud)
所以任何不是单词字符(aZ,AZ,0-9),而不是空格,".","?","!","(或")"将被替换为空字符串.每个quatation标记将被替换为:""".
我检查前端的数据,然后在服务器上查看.
有人可以绕过这个"解决方案"吗?
我想知道StackOverflow是如何做到这一点的?这里有很多格式,所以他们必须做好工作.