java - 关于跨站脚本(XSS)的另一个问题

标签 java servlet-filters xss

我一直在网上搜索知识,寻找如何制定解决方案来防止我们网站上的 XSS。

我知道stackoverflow关于该主题有很多问题和答复,但对于如何解决这个问题仍然没有真正清晰的了解。

因此,这是征求有关此主题的信息的另一次尝试。

我们有一个基于 JSP Model 1 框架构建的旧站点。该网站有一个固定的受众 - 也就是说,您必须注册才能获得用户名/密码。用户实际可以输入的数据量非常有限 - 搜索条件、出价和发布待售库存。

我一直在研究 XSS filter 的用法跨网站申请。有人担心此解决方案未提供源代码,并且对其安全性存在疑问。

我还看到了标签库的使用情况以及在服务器端添加逻辑的情况。

问题是:

在客户端解决 XSS 问题是否足够,还是需要在客户端和服务器上同时解决?

过滤器是否足够,或者应该与客户端的 JSTL tablib 结合使用?除了我引用的过滤器之外,是否还有其他过滤器 - 因为我无法在搜索中找到一个过滤器。

谢谢

最佳答案

I have been looking at the usage of a XSS filter to apply across the site.

我建议至少在一般情况下避免使用过滤器。它们可能会导致“啊!XSS!”、“不,我只是在写一个方程式”。

要么转义数据,要么(如果您想允许标记)通过白名单解析它和生成的 DOM,以删除不受欢迎的属性、元素、URI 等。

Is addressing XSS at the client side sufficient enough

不!你不能相信客户。

or does it need to be addressed both on the client and on the server?

它根本不应该在客户端处理。

关于java - 关于跨站脚本(XSS)的另一个问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7487758/

相关文章:

grails - 如何将 moskito-java (监控工具)集成到 Grails 应用程序中?

php - 为 SQL 注入(inject)过滤 URL 查询字符串 - PHP

javascript - 仅在 FireFox 18 上引发 XSS 异常

java - 是否可以更改标准 jsr-353 api 使用的提供程序?

java - 每行可变列宽的表格(类似于 iOS 的 UICollectionView)

java - 如何将 String 转换为 Java.util.Date 包括 ISO8601

html - 在这个 domxss.com 挑战中如何进行 HTML 注入(inject)

java - Scala 中有 java.io.InputStream 的替代品吗?

javascript - 设置网络音频,多种声音,单独的gainNodes和全局LOW PASS滤波器?

java - 根据响应禁用过滤器