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

熱點內容
青島怎麼處理污水 瀏覽:832
河北提升泵廠 瀏覽:57
ro反滲透凈水器價格康家凈 瀏覽:423
嬰兒凈水器多少錢 瀏覽:964
油煙凈化器為什麼有響聲 瀏覽:114
進口提升泵 瀏覽:850
凈水器插電24小時多少度電 瀏覽:789
史密斯空氣換主濾芯怎麼設置 瀏覽:187
小米空氣凈化器2如何更換濾芯 瀏覽:592
pps樹脂產量 瀏覽:276
污水廠尾氣提ss標准多少 瀏覽:15
變壓器油濾芯有油怎麼辦 瀏覽:998
生活污水處理流程框圖 瀏覽:213
網炭濾芯哪裡買 瀏覽:54
近視度數高帶174的樹脂片好麻 瀏覽:59
化學凈水什麼意思 瀏覽:95
南光樹脂膠教程 瀏覽:523
樹脂吸附分配系數k 瀏覽:365
羊喝污水會有什麼危害 瀏覽:103
EDI模塊對水溫的要求 瀏覽:178