导航:首页 > 净水问答 > antisamy过滤配置

antisamy过滤配置

发布时间:2021-12-14 04:25:06

A. 怎样过滤跨站恶意脚本攻击

1.在输入流中截住formdata中的恶意脚本研究两种XSS攻击,如反射型和存储型XSS攻击,其恶意脚本都是来自用户的输入。因此,可以使用过滤用户输入的方法对恶意脚本进行过滤。对简单的HTTP请求,一般使用GET和POST方法。2.在输入流中检测滤掉来自其他网站的URL中的恶意脚本当用户不小心点击了被其他黑客提供的假冒URL,则可能在该URL中注入恶意脚本。因此,也需要对这种情况进行处理。因此为确保其他在header中的恶意脚本,需要对request.getHeader进行重写。以下为例子:publicStringgetHeader(Stringname){Stringvalue=super.getHeader(name);if(value==null)returnnull;returnxssClean(value);}3.xssClean函数怎样实现才可以过滤掉恶意脚本呢?如果是java语言,推荐使用antisamy。使用antisamy进行XSS清理非常简单,只需要简单的几个步骤即可达到目的。1‘.在pom.xml文件中加入antisamy的dependency,org.owasp.antisamyantisamy1.5.32’.加入了dependency之后,就可以在xssClean中加入antisamy对恶意脚本进行清理。其中policy.xml是白名单,policy.xml中规定了各个html元素所必须满足的条件。antisamy的精髓之处在于,使用policy文件来规定你的过滤条件,若输入字符串不满足policy文件中的条件,则会过滤掉字符中的恶意脚本,返回过滤后的结果。具体代码如下:privateStringxssClean(Stringvalue){AntiSamyantiSamy=newAntiSamy();try{finalCleanResultscr=antiSamy.scan(value,Policy.getInstance("policy.xml"),AntiSamy.SAX);returncr.getCleanHTML();}catch(ScanExceptione){e.printStackTrace();}catch(PolicyExceptione){e.printStackTrace();}returnvalue;}这样,我们就将client端用户输入的request,在server端进行了拦截,并且进行了过滤。

B. 怎样过滤跨站恶意脚本攻击

1. 在输入流中截住form data中的恶意脚本
研究两种XSS攻击,如反射型和存储型XSS攻击,其恶意脚本都是来自用户的输入。因此,可以使用过滤用户输入的方法对恶意脚本进行过滤。对简单的HTTP请求,一般使用GET和POST方法。
2. 在输入流中检测滤掉来自其他网站的URL中的恶意脚本
当用户不小心点击了被其他黑客提供的假冒URL,则可能在该URL中注入恶意脚本。因此,也需要对这种情况进行处理。因此为确保其他在header中的恶意脚本,需要对request.getHeader进行重写。以下为例子:
public String getHeader(String name) {
String value = super.getHeader(name);
if (value == null)
return null;
return xssClean(value);
}
3. xssClean函数怎样实现才可以过滤掉恶意脚本呢?
如果是java语言,推荐使用antisamy。使用antisamy进行XSS清理非常简单,只需要简单的几个步骤即可达到目的。
1‘. 在pom.xml文件中加入antisamy的dependency,
<dependency>
<groupId>org.owasp.antisamy</groupId>
<artifactId>antisamy</artifactId>
<version>1.5.3</version>
</dependency>
2’. 加入了dependency之后,就可以在xssClean中加入antisamy对恶意脚本进行清理。其中policy.xml是白名单,policy.xml中规定了各个html元素所必须满足的条件。antisamy的精髓之处在于,使用policy文件来规定你的过滤条件,若输入字符串不满足policy文件中的条件,则会过滤掉字符中的恶意脚本,返回过滤后的结果。具体代码如下:
private String xssClean(String value) {
AntiSamy antiSamy = new AntiSamy();
try {
final CleanResults cr = antiSamy.scan(value, Policy.getInstance("policy.xml"), AntiSamy.SAX);
return cr.getCleanHTML();
} catch (ScanException e) {
e.printStackTrace();
} catch (PolicyException e) {
e.printStackTrace();
}
return value;
}
这样,我们就将client端用户输入的request,在server端进行了拦截,并且进行了过滤。

阅读全文

与antisamy过滤配置相关的资料

热点内容
出口进口反渗透阻垢剂 浏览:150
净水机超滤和反渗透机哪个好 浏览:769
纯净水桶可以加什么水 浏览:570
反渗透不插电净水器 浏览:251
电解锌离子交换柱使用方法 浏览:895
199M模具树脂 浏览:734
污水泵上水量大怎么办 浏览:304
耐高温600度树脂胶 浏览:24
反渗透膜柠檬酸清洗方案 浏览:283
纯水机一直自动启动冲洗什么原因 浏览:391
cod多少时超滤膜容易堵住 浏览:1000
水处理设备服务领域 浏览:221
ro膜前需要超滤吗 浏览:915
污水提升器有什么优点 浏览:128
柴油滤芯里面油放完怎么抽油 浏览:110
酯化废水处理 浏览:296
纯水机有水泡怎么办 浏览:213
龙岩净水设备哪个品牌好 浏览:182
x50空气净化器怎么拆 浏览:135
太阳能里面没有水垢 浏览:179