首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AntiSamy策略文件在web项目中的位置

AntiSamy策略文件在web项目中的位置
EN

Stack Overflow用户
提问于 2015-07-27 12:27:37
回答 1查看 1.3K关注 0票数 1

我正在尝试使用AntiSamy来防止XSS对我的站点的攻击。我下载了以下jars并将它们添加到“/WEB/lib”中

  • antisamy-1.5.3.jar
  • nekohtml.jar
  • xercesImpl-2.5.0.jar

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

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

代码语言:javascript
复制
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.getInstance(url.getFile());.策略=策略之后,部署失败这可能是因为策略文件的路径。

有人能告诉我政策文件应该放在哪里吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-28 09:23:06

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

代码语言:javascript
复制
URL url = this.getClass().getClassLoader().getResource("antisamy-slashdot-1.4.4.xml");

代码语言:javascript
复制
URL url = this.getClass().getClassLoader().getResource("/my/package/antisamy-slashdot-1.4.4.xml");

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31653108

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档