導航:首頁 > 凈水問答 > 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過濾配置相關的資料

熱點內容
為什麼家用凈水機的水仍有水垢 瀏覽:572
空調提升泵不做提升可以嗎 瀏覽:118
砂濾棒過濾器工作原理 瀏覽:625
月子里用護膚品會不會回奶 瀏覽:464
碧麗直飲水機怎麼解鎖 瀏覽:314
槽下凈水器哪個好 瀏覽:396
地熱循環泵靜音家用能提升幾度 瀏覽:917
污水處理設備處理完的水叫什麼 瀏覽:748
生活污水池種什麼最好 瀏覽:35
常州水處理環保有限公司怎麼樣 瀏覽:633
asf旁濾過濾器在循環水廠的使用論文 瀏覽:365
2012軒逸經典空調濾芯怎麼換 瀏覽:260
長安污水處理原理是怎麼來的 瀏覽:196
千里寫過濾器 瀏覽:853
ro膜串聯 瀏覽:348
吉利博瑞ge拆空氣濾芯用什麼工具 瀏覽:482
污水提升裝置和潛污泵 瀏覽:675
磷肥生產廢水處理 瀏覽:496
microboy提升泵 瀏覽:43
飲水機熱水孔時好時壞怎麼回事 瀏覽:983