java - 如何从用户提交的页面中过滤(删除)JSP 内容

标签 java jsp filtering

溢出堆栈,

我有一个 Java 网络应用程序 (tomcat),我允许用户通过表单上传 HTML 代码。

现在,由于我在 tomcat 上运行并且我实际上显示了用户上传的 HTML,我不希望用户对 JSP 标签/scriptlet/EL 进行恶意编码并在服务器上执行这些代码。我想过滤掉任何 JSP/非 HTML 内容。

自己编写解析器似乎过于繁重 - 除了必须处理的许多细微之处(注释、脚本的字节表示等)。

你知道有什么 API/库可以为我做这件事吗?我知道 Caja 过滤,但我正在寻找专门针对 JSP 的东西。

非常感谢, JP,马耳他。

最佳答案

使用库进行内容清理比尝试自己做更好,例如正则表达式。

尝试开放 Web 应用程序安全项目的 Antisamy。

http://www.owasp.org/index.php/Antisamy

我(还)没有用过,但似乎很合适。 JSP 内容应由 HTML 规范化自动删除/转义。

编辑,刚找到这些:
Best Practice: User generated HTML cleaning
RegEx match open tags except XHTML self-contained tags

关于java - 如何从用户提交的页面中过滤(删除)JSP 内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3447289/

相关文章:

java - 如何将 ImageJ 添加到 Eclipse 中的构建路径,以及在哪里可以找到 ImageJ .jar 文件?

JSP - 在 c :import 中使用变量作为 url

javascript - 当存在超过 9 个相同脚本时,由于脚本原因,页面加载需要时间

MySQL IMDB 过滤发布日期

Java : BOLD with iText in PDF Generation doesn't work correctly

java - PMD 和 FindBugs 有什么区别?

java - JSP 中的 GWT AutoSuggest

python - 在Python中使用FIR滤波器firwin后信号的相移

javascript - 如何划分通过 ng-repeat 创建的列表的单独部分?

java - 自定义 validator 有多个问题