问题标签 [antisamy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
606 浏览

coldfusion - 如何清理表单值以允许纯文本

我知道如果用户需要提供 HTML 代码作为表单输入的一部分(例如在 textarea 中),那么我会使用 Anti-Samy 策略来过滤掉不允许的危险 HTML。

但是,我有一些文本字段和文本区域应该是纯文本的。根本不应该从这些字段将 HTML 代码插入到数据库中。

因此,我正在尝试清理输入,以便仅将原始文本插入数据库。我相信我可以通过两种方式做到这一点:

  1. 使用正则表达式过滤掉 HTML 代码,例如#REReplaceNoCase(FORM.InputField, "[^a-zA-Z\d\s:]", "", "ALL")#
  2. 使用严格的纯文本 Anti-Samy 政策

哪个选项是从文本字段中删除任何用户输入的 HTML 代码的正确/良好实践方法。或者我还有其他选择吗?

0 投票
1 回答
1157 浏览

java - Web 项目中 AntiSamy 策略文件的位置

我正在尝试使用AntiSamy来防止对我的网站进行 XSS 攻击。我下载了以下 jar 并将它们添加到“/WEB-INF/lib”

  • antisamy-1.5.3.jar

  • nekohtml.jar

  • xercesImpl-2.5.0.jar

以及“/WEB-INF”中的策略文件antisamy-slashdot-1.4.4.xml

我试图通过web.xml实现过滤器。我正在使用的 servlet 的一个片段是

Policy policy = Policy.getInstance(url.getFile());后部署失败 . 这可能是因为策略文件的路径。

有人可以告诉我政策文件应该保存在哪里吗?

0 投票
1 回答
198 浏览

validation - AntiSamy 不允许我输入表单域

我有一个来自 CKEditor 的 RichTextArea。我最近做了一些修改来清理 HTML 输入。

正常情况正常,但任何表单字段,如复选框、文本区域、单选按钮等都会被删除。(我正在使用 getValidSafeHTML 来清理我的 HTML)。

我在这里尝试过像这个东西这样的不同策略文件,它应该允许一切 http://code.google.com/p/owaspantisamy/downloads/detail?name=antisamy-anythinggoes-1.4.4.xml

例如,

<form method="get" name="sampleform"><input name="radio" type="radio" />&nbsp;</form>

变成

<form method="get" name="sampleform">&nbsp;</form>

有人知道为什么会这样吗?

提前致谢

0 投票
0 回答
399 浏览

sanitization - 如何将 HTML5 标签添加到 AntiSamy 策略文件?

我的 AntiSamy 文件似乎不喜欢 HTML5<figure>标记。它允许标签本身存在,但其中不包含任何内容。

所以这:

正在变成这样:

如何阻止反义词剥离<figure>标签的内容?我希望它允许<figure>标签及其所有属性和内容。

0 投票
0 回答
233 浏览

html - 为什么 OWASP AntiSamy 会去掉 figure 标签?

我的 AntiSamy 正在剥离<figure>标签。

所以这:

正在变成这样:

我怎样才能阻止这种情况发生?

0 投票
1 回答
1217 浏览

coldfusion - 为什么 getSafeHTML() 会抛出错误?

我似乎收到内容太长的错误,但我从未指定限制为 5000。无论如何,5000 太低了

...

org.owasp.validator.html.ScanException:输入太大。指定的输入为 6,989 字节,最大值为 5,000 字节。在 org.owasp.validator.html.scan.AntiSamyDOMScanner.scan(AntiSamyDOMScanner.java:101) 在 org.owasp.validator.html.AntiSamy.scan(AntiSamy.java:107) 在 Coldfusion.security.ESAPIUtils.getSafeHTML(ESAPIUtils .java:670) 在coldfusion.runtime.CFPage.GetSafeHTML(CFPage.java:10785) 在cfrow2ecfm1904818855.runPage(/Applications/ColdFusion11/cfusion/wwwroot/BS-4-CF/bootstrap/row.cfm:39)

0 投票
1 回答
644 浏览

java - OWASP AntiSamy 正在将换行符替换为 espaces (JAVA)

我在 JAVA 项目中使用 OWASP AntiSamy,但每次我尝试使用包含 \n 字符的字符串调用方法 getCleanHTML() 时,该方法都会替换为 espace“”。我已经尝试更改 XML 文件中的规则,但它仍在发生。我如何解决它?

0 投票
0 回答
206 浏览

java - 异常启动 AntiSamyFilter

我无法在装有 AntiSamy 过滤器的本地计算机上运行我的组的 Web 应用程序。该过滤器在我们的开发和生产服务器上的 WebSphere 上工作,并且在我同事的一台机器上运行良好,该机器应该与我的设置相同,使用 Tomcat。但是,在我的机器和其他几位同事的机器上,如果我们尝试使用 AntiSamy 过滤器启动我们的服务器,我们会收到以下错误:

2015 年 10 月 12 日晚上 11:06:32 org.apache.catalina.core.StandardContext filterStart 严重:异常启动过滤器 AntiSamyFilter java.lang.IllegalStateException: java.io.FileNotFoundException: C:\Users\myUsername\Documents\myWorkspaceDirectory.metadata .plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\mobile3\WEB-INF\classes\antisamy-default.xml(系统找不到指定的路径)

我查看了引用的目录,那里有一个“antisamy-default.xml”文件,所以我不确定从哪里开始找出导致错误的原因。

任何帮助都感激不尽!

0 投票
1 回答
669 浏览

java - AntiSamy 添加换行符“\n”

"\n"清理脏输入后,Antisamy 在新行字符前面" "加上"\n". 我正在使用 antisamy 1.5.3 jar。

例如:下面是清理 json 后的输出

这里

11:30\nAM..这是11:30 AM

0 投票
0 回答
959 浏览

java - Tomcat 7 中的 NoClassDefFoundError

我们在生产中面临一个奇怪的问题。我们的是部署在 Tomcat 7 中的 Web 应用程序。我们使用 Antisamy-1.5.3.jar 来预防 XSS。每个用户请求都被一个过滤器拦截,该过滤器会扫描请求中的任何恶意内容。这个设置在 Tomcat 6 中运行了一年多。我们迁移到 Tomcat 7。用户在打开应用程序时打开和关闭 NoClassDefFoundError(不一致),但是当 Tomcat 重新启动时它工作正常。

下面是抛出异常的流程

  1. 用户请求被 AntiSamyFilter 拦截,并调用 owasp.validator.html.AntiSamy 类(AntiSamy 内部类)上的 scan 方法。

  2. 下面是扫描方法的代码

    /li>
  3. 当在上面的代码中引用 AnitSamyDOMScanner 类时,AntiSamyDOMScanner 超类的静态初始化块 - AbstractAntiSamyScanner 被调用,如下所示

    /li>

这是引发异常的地方,因为由于某种原因,tomcat 无法加载资源包 - AntiSamy_en_US.properties 文件存在于根级别的 jar 文件中。由于这是静态块中的错误,因此抛出 ExceptionInInitializer 最终导致 NoClassDefFoundError。

下面是一起查看的两个异常 - 我们可以看到 NoClassDefFoundError 是由于 AbstractAntiSamyScanner 的静态 init 块中的异常引起的。

我们尝试在 Tomcat lib 和 WEB-INF/classes 下复制 Antisamy.properties,但没有成功。关于什么可能导致 AbstractAntiSamyScanner 在 jar 中找不到资源包的任何想法?