【问题标题】:Location of AntiSamy policy file in web projectAntiSamy 策略文件在 Web 项目中的位置
【发布时间】:2015-07-27 12:27:37
【问题描述】:

我正在尝试使用 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 的 sn-p 是

public class AntiSamyFilter implements Filter {

private static final Logger LOG = Logger.getLogger(AntiSamyFilter.class);

private final AntiSamy antiSamy;

public AntiSamyFilter() {
    try {
        URL url = this.getClass().getClassLoader().getResource("antisamy-slashdot-1.4.4.xml");
        LOG.info("After getResource");
        Policy policy = Policy.getInstance(url.getFile()); //Deployment fails
        LOG.info("After Policy");
        antiSamy = new AntiSamy(policy);
        LOG.info("After antiSamy");
    } catch (PolicyException e) {
        throw new IllegalStateException(e.getMessage(), e);
    }
}
}

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

谁能告诉我政策文件应该保存在哪里?

【问题讨论】:

    标签: java struts antisamy


    【解决方案1】:

    url.getFile 部分失败,因为它找不到 antisamy-slashdot-1.4.4.xml 文件。我在src/my/package 中创建了一个包并进行了更改

    URL url = this.getClass().getClassLoader().getResource("antisamy-slashdot-1.4.4.xml");
    

    到

    URL url = this.getClass().getClassLoader().getResource("/my/package/antisamy-slashdot-1.4.4.xml");
    

    我还添加了 batik.jar 以及其他 jar 文件。它解决了我的问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-30
      • 1970-01-01
      • 1970-01-01
      • 2018-11-15
      • 2012-10-05
      • 1970-01-01
      • 1970-01-01
      • 2019-02-04
      相关资源
      最近更新 更多