Java Filter過濾xss注入非法引數的方法
http://blog.csdn.net/feng_an_qi/article/details/45666813
web.xml:
- <filter>
- <filter-name>XSSFiler</filter-name>
- <filter-class>
- com.paic.mall.web.filter.XssSecurityFilter
- </filter-class>
- </filter>
-
<filter-mapping
- <filter-name>XSSFiler</filter-name>
- <url-pattern>*.jsp</url-pattern>
- </filter-mapping>
- <filter-mapping>
- <filter-name>XSSFiler</filter-name>
- <url-pattern>*.do</url-pattern>
-
</filter-mapping
- <filter-mapping>
- <filter-name>XSSFiler</filter-name>
- <url-pattern>*.screen</url-pattern>
- </filter-mapping>
- <filter-mapping>
- <filter-name>XSSFiler</filter-name>
-
<url-pattern>*.shtml</url-pattern
- </filter-mapping>
- <filter-mapping>
- <filter-name>XSSFiler</filter-name>
- <servlet-name>dispatcher</servlet-name>
- </filter-mapping>
XssSecurityFilter.Java
- publicclass XssSecurityFilter implements Filter {
- protectedfinal Logger log = Logger.getLogger(this.getClass());
- publicvoid init(FilterConfig config) throws ServletException {
- if(log.isInfoEnabled()){
- log.info("XSSSecurityFilter Initializing ");
- }
- }
- /**
- * 銷燬操作
- */
- publicvoid destroy() {
- if(log.isInfoEnabled()){
- log.info("XSSSecurityFilter destroy() end");
- }
- }
- publicvoid doFilter(ServletRequest request, ServletResponse response,
- FilterChain chain) throws IOException, ServletException {
- HttpServletRequest httpRequest = (HttpServletRequest)request;
- XssHttpRequestWrapper xssRequest = new XssHttpRequestWrapper(httpRequest);
- httpRequest = XssSecurityManager.wrapRequest(xssRequest);
- chain.doFilter(xssRequest, response);
- }
- }
XssHttpRequestWrapper.java
- /**
- * @author
- * @date
- * @describe 主要是對引數進行xss過濾,替換原始的request的getParameter相關功能
- * 執行緒不安全
- *
- */
- publicclass XssHttpRequestWrapper extends HttpServletRequestWrapper {
- protected Map parameters;
- /**
- * 封裝http請求
- *
- * @param request
- */
- public XssHttpRequestWrapper(HttpServletRequest request) {
- super(request);
- }
- @Override
- publicvoid setCharacterEncoding(String enc)
- throws UnsupportedEncodingException {
- super.setCharacterEncoding(enc);
- //當編碼重新設定時,重新載入重新過濾快取。
- refiltParams();
- }
- void refiltParams(){
- parameters=null;
- }
- @Override
- public String getParameter(String string) {
- String strList[] = getParameterValues(string);
- if (strList != null && strList.length > 0)
- return strList[0];
- else
- returnnull;
-
相關推薦
Java Filter過濾xss注入非法引數的方法
http://blog.csdn.net/feng_an_qi/article/details/45666813 web.xml: <filter> <filter-name>XSSFiler&l
Java Filter過濾xss註入非法參數的方法
nbsp rst let efi fin author ssa html 空串 http://blog.csdn.NET/feng_an_qi/article/details/45666813 Java Filter過濾xss註入非法參數的方法 web.xml:
java介面防止XSS攻擊的常用方法總結
在前面的一篇文章中,講到了java web應用程式防止 csrf 攻擊的方法,參考這裡 java網頁程式採用 spring 防止 csrf 攻擊. ,但這只是攻擊的一種方式,還有其他方式,比如今天要記錄的 XSS 攻擊, XSS 攻擊的專業解釋,可以在網上搜索一下,參考百度百
Java不定型別,不定個數引數方法的寫法
java方法的不定型別與不定個數引數 public void demo(Object … object ){ } 定義多種型別引數用於測試 int age=12; String name=”李
使用filter過濾xss攻擊
http://winnie825.iteye.com/blog/1170833 先說一下實現思路: 1. 使用正則表示式的方式實現指令碼過濾,這個方法準確率較高,但是可能根據不能的要求會變動; 2. 為了保證配置靈活(包括正則表示式靈活),使用xml配置檔案的方式記錄配置資訊,配置資訊包含是否開啟
防止常見XSS 過濾 SQL注入 JAVA過濾器filter
XSS : 跨站指令碼攻擊(Cross Site Scripting),為不和層疊樣式表(Cascading Style Sheets, CSS)的縮寫混淆,故將跨站指令碼攻擊縮寫為XSS。惡意攻擊者往Web頁面裡插入惡意html程式碼,當用戶瀏覽該頁之時,嵌入其中Web裡
Java簡單的XSS過濾方法
Java簡單的XSS過濾方法 因為某甲方程式XSS過濾類一直沒起作用,所以百度了下,簡單的寫了個引數XSS過濾方法。。。。。上程式碼~~ import java.io.UnsupportedEncodingException; import java.net.URLDecod
AOP實踐--ASP.NET MVC 5使用Filter過濾Action引數防止sql注入,讓你程式碼安全簡潔
在開發程式的過程中,稍微不注意就會隱含有sql注入的危險。今天我就來說下,ASP.NET mvc 5使用Filter過濾Action引數防止sql注入,讓你程式碼安全簡潔。不用每下地方對引數的值都進行檢查,看是使用者輸入的內容是否有危險的sql。如果沒個地方都要加有幾個缺
JAVA覆寫Request過濾XSS跨站腳本攻擊
getpara header term implement nbsp super exceptio stream elements 註:本文非本人原著。 demo的地址:鏈接:http://pan.baidu.com/s/1miEmHMo 密碼:k5ca 如何過濾
django中models的filter過濾方法
ont sta 表達 AI 包含 lte isnull ear end __gt 大於__gte 大於等於 __lt 小於 __lte 小於等於 __in 存在於一個list範圍內 __startswith 以...開頭 __ist
java 防止 XSS 攻擊的常用方法
javax 編程 cape sap ins servlet space javascrip throws 1. 自己寫 filter 攔截來實現,但要註意的時,在WEB.XML 中配置 filter 的時候,請將這個 filter 放在第一位.2. 采用開源的實現 ESAP
Java的輸入和輸出、if...else if...else判斷、Java中列印陣列、Java中陣列排序、檢視函式方法的原始碼、命令列引數
Java的輸入和輸出: 輸入: import java.util.Scanner Scanner s = new Scanner(System.in); //通過new Scanner(System.in)建立一個Scanner物件,控制檯會一直等待輸入,直到敲回車鍵
java呼叫WebService介面的一種方法,引數為XML的字串
String xmlinfo = "<data>.......</data>";//xml引數 try { String url = "http://******/Server
vue filter( ) 過濾陣列方法
要顯示一個數組的過濾或排序副本,而不實際改變或重置原始資料(非變異方法)。可以使用filter( ) 方法。 <div id="div"> <li v-for="n in evenNumbers">{{ n }}</li> <
使用Filter過濾非法內容
1、首先,需要編寫一個響應的封裝器ResponseReplaceWrapper,用它來快取response中的內容,程式碼如下: ResponseReplaceWrapper.java package com.comp.common; import java.io.CharArrayWrite
java中Filter過濾器處理中文亂碼的方法
注意問題:在學習用selvert的過濾器filter處理中文亂碼時,在filter配置初始化時用了utf-8處理中文亂碼,而在提交的jsp頁面中卻用了gbk。雖然兩種都可以出來中文亂碼,但是卻造成了處理亂碼的格式不一致。所以編譯出錯。 解決方法:所有地方都用ut
java防止xss注入攻擊
後面附錄有三個.java文件 1.把文件拷進專案中(最好建立一個單獨的包存放),然後修改引入路徑,看到不報錯那麼第一步完成。 2.開啟web.xml配置檔案 <!--XSS注入攻擊--> <filter> <filter-name&
穿梭框(filter過濾方法,sort排序 v-model)
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title>穿梭框</title> <link rel="stylesheet" href="bo
Java中的不定長引數方法的使用
不定長引數方法的語法如下: 返回值 方法名(引數型別...引數名稱) 在引數列表中使用“...”形式定義不定長引數,其實這個不定長引數a就是一個數組,編譯器會將(int...a)這種形式看作是(int[] a)的形式。 示例:編寫一個不定長引數方法。 /** * 定義不定長引數
【101】java的List中使用filter過濾出符合特定條件的元素List
在實際開發中,經常需要把一個列表中的元素,按照特定條件過濾出來,放到一個新的列表中。本文給出了幾個例子,來描述解決這個問題的方法。 我們假設有一個書的List,需要找出其中id分別是3、6、8、9的書。本文介紹了兩種方法來完成這個工作。第一種方法是使用jav