gpt4 book ai didi

java - AntiSamy 可以防止 Java 中的 XSS?

转载 作者:行者123 更新时间:2023-11-28 00:58:57 24 4
gpt4 key购买 nike

基本上我有一个网络应用程序,它目前容易受到 XSS 攻击。根据我的研究,我发现 AntiSamy 是一个很好的开放图书馆,可以提供帮助。所以我下载了库 .jar 文件,即 antisamy-1.5.1.jar和策略文件 antisamy-slashdot-1.4.4.xml并将其导出到我的项目 WEB-INF 目录。

我对 AntiSamy 还很陌生,真的不知道如何在字符串上实现它以对其进行编码和保护免受 XSS 攻击。

假设我有一个字符串:String XSSPossible = "<script>alert("It's vulnerable.");</script>";现在我想将其编码为普通文本并保护它免受 XSS 攻击。

非常问候。

最佳答案

你可以使用下面的代码

public class AntisamySample 
{
public static AntiSamy antiSamy;
public static Policy policy;
public static CleanResults cleanResults;
static String policyFileName = "antisamy-slashdot-1.4.4.xml";

private Policy gtePolicyFile()
{
try
{
policy = policy.getInstance(this.getClass().getResourceAsStream(policyFileName));
}
catch (PolicyException e)
{
e.printStackTrace();
}
return policy;
}

public static void main(String[] args)
{
String XSSPossible = "<script>alert('It's vulnerable.');</script>";
String cleanResult = "";
try
{
AntisamySample antisamy = new AntisamySample();
antiSamy = new AntiSamy();
policy = antisamy.gtePolicyFile();
cleanResults = antiSamy.scan(XSSPossible, policy);

cleanResult = cleanResults.getCleanHTML();
}
catch(PolicyException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (ScanException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

这将返回干净的 HTML

所有获得干净 HTML 的规则都在 antisamy*.xml 文件中。有四种不同的策略文件。

根据您的要求,您可以使用任何策略文件并根据您的要求添加规则。

Here is the more details about antisamy

关于java - AntiSamy 可以防止 Java 中的 XSS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43135291/

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