gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 03:19:39 24 4
gpt4 key购买 nike

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

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());之后部署失败。可能是策略文件路径的问题。

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

最佳答案

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 文件。它解决了我的问题

关于java - AntiSamy 策略文件在 Web 项目中的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31653108/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com