导航:首页 > 净水问答 > 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过滤配置相关的资料

热点内容
缺氧为什么老有污水 浏览:654
纯净水法语怎么说 浏览:608
塔机提升电机用变频器好用吗 浏览:248
宿州净水设备哪个品牌好 浏览:482
什么化工生产废水会含有重金属 浏览:428
凯马净水器怎么洗滤芯 浏览:235
鱼缸滤芯怎么清理 浏览:672
宁德膜结构污水池加盖多少钱一平 浏览:991
水龙头滤水机与净水器哪个好 浏览:470
迈森源净水器空气净化器怎么样 浏览:924
村污水排放方式怎么写 浏览:105
污水处理厂寿命统计 浏览:568
崇明区工业污水处理设备要多少钱 浏览:877
愉升商用饮水机不显示什么原因 浏览:96
净水器退货扣费怎么办 浏览:471
南阳废水处理怎么选 浏览:181
环氧树脂胶一个kg 浏览:51
精密滤芯怎么保护 浏览:474
趁热过滤溶质在哪 浏览:988
炼金后的废水如何处理 浏览:427