亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > JSP使用過濾器防止SQL注入的簡單實現

JSP使用過濾器防止SQL注入的簡單實現

熱門標簽:泰州泰興400電話 怎么申請 企業怎么在聯通申請400電話 百度地圖添加標注圖標樣式 聊城智能電銷機器人外呼 好操作的電話機器人廠家 南昌市地圖標注app 南京新思維電話機器人 地圖標注市場怎么樣 如何用中國地圖標注數字點

什么是SQL注入攻擊?引用百度百科的解釋:

sql注入_百度百科:

所謂SQL注入,就是通過把SQL命令插入到Web表單提交或輸入域名或頁面請求的查詢字符串,最終達到欺騙服務器執行惡意的SQL命令。具體來說,它是利用現有應用程序,將(惡意)的SQL命令注入到后臺數據庫引擎執行的能力,它可以通過在Web表單中輸入(惡意)SQL語句得到一個存在安全漏洞的網站上的數據庫,而不是按照設計者意圖去執行SQL語句。[1]  比如先前的很多影視網站泄露VIP會員密碼大多就是通過WEB表單遞交查詢字符暴出的,這類表單特別容易受到SQL注入式攻擊.

SQL注入攻擊指的是通過構建特殊的輸入作為參數傳入Web應用程序,而這些輸入大都是SQL語法里的一些組合,通過執行SQL語句進而執行攻擊者所要的操作,其主要原因是程序沒有細致地過濾用戶輸入的數據,致使非法數據侵入系統。

filter功能:

它使用戶可以改變一個 request和修改一個response. Filter 不是一個servlet,它不能產生一個response,它能夠

在一個request到達servlet之前預處理request,也可以在離開 servlet時處理response.

換種說法,filter其實是一個”servlet chaining”(servlet 鏈). 所以用戶發出的任何request都必然經過filter處理,我們就在filter處理用戶request包含的敏感關鍵字,然后replace掉或是讓頁面轉到錯誤頁來提示用戶,這樣就可以很好的防sql注入了。

具體實現代碼:

/YourProject/src/com/SqlFilter.java

package com;
import java.io.IOException; 
import java.util.Enumeration; 
import javax.servlet.Filter; 
import javax.servlet.FilterChain; 
import javax.servlet.FilterConfig; 
import javax.servlet.ServletException; 
import javax.servlet.ServletRequest; 
import javax.servlet.ServletResponse; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
 
//過濾sql關鍵字的Filter 
public class SqlFilter implements Filter { 
 
  public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { 
 
    HttpServletRequest req = (HttpServletRequest) request; 
    HttpServletResponse res = (HttpServletResponse) response; 
    //獲得所有請求參數名 
    Enumeration params = req.getParameterNames(); 
 
    String sql = ""; 
    while (params.hasMoreElements()) { 
      //得到參數名 
      String name = params.nextElement().toString(); 
      //System.out.println("name===========================" + name + "--"); 
      //得到參數對應值 
      String[] value = req.getParameterValues(name); 
      for (int i = 0; i  value.length; i++) { 
        sql = sql + value[i]; 
      } 
    } 
    System.out.println("被匹配字符串:"+sql); 
    if (sqlValidate(sql)) { 
      res.sendRedirect("error.jsp");  
    } else { 
      chain.doFilter(req, res); 
    } 
  } 
 
  //校驗
  protected static boolean sqlValidate(String str) { 
    str = str.toLowerCase();//統一轉為小寫
    //String badStr = "and|exec";
    String badStr = "'|and|exec|execute|insert|select|delete|update|count|drop|chr|mid|master|truncate|char|declare|sitename|net user|xp_cmdshell|or|like"; 
    /*String badStr = "'|and|exec|execute|insert|create|drop|table|from|grant|use|group_concat|column_name|" + 
        "information_schema.columns|table_schema|union|where|select|delete|update|order|by|count|*|" + 
        "chr|mid|master|truncate|char|declare|or|;|-|--|+|,|like|//|/|%|#";  */  //過濾掉的sql關鍵字,可以手動添加 
    String[] badStrs = badStr.split("\\|"); 
    for (int i = 0; i  badStrs.length; i++) {
      if (str.indexOf(badStrs[i]) !=-1) { 
        System.out.println("匹配到:"+badStrs[i]);
        return true; 
      } 
    } 
    return false; 
  } 
 
  public void init(FilterConfig filterConfig) throws ServletException { 
    //throw new UnsupportedOperationException("Not supported yet."); 
  } 
 
  public void destroy() { 
    //throw new UnsupportedOperationException("Not supported yet."); 
  } 
}

注意上面第50行 如果用“|”作為分隔的話,必須是如下寫法:String.split("\\|"),這樣才能正確的分隔開,不能用String.split("|");

/YourProject/WebContent/WEB-INF/web.xml(在web.xml中過濾器添加過濾器配置):

!-- sql Filter -->
   filter>
    filter-name>SqlFilter/filter-name>
    filter-class>com.SqlFilter/filter-class>
  /filter>
  filter-mapping>
    filter-name>SqlFilter/filter-name>
    url-pattern>/*/url-pattern>
  /filter-mapping>

/YourProject/WebContent/error.jsp(檢測到sql關鍵詞跳轉到的頁面):

%@ page language="java" contentType="text/html; charset=utf-8"
  pageEncoding="utf-8"%>
!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
html>
head>
meta http-equiv="Content-Type" content="text/html; charset=utf-8">
title>error/title>
/head>
body>
div align="center">
br>
h4>非法輸入/h4>
p>input type="button" name="back" value="返回" onclick="javascript:history.go(-1);"/>
/div>
/body>
/html>

將上面的過濾器加入到自己的項目中可以簡單地防止SQL注入,嚴格防止注入還需采取更有效的措施。

同理,我們也可以使用過濾器實現敏感詞的屏蔽功能,用法和防止SQL注入類似,自行探索!

 我是分割線

-----------------------------------------

更多防范SQL注入的措施:

1.對輸入進行嚴格的限制和過濾

2.對一些應用如數據庫的連接進行有效的IP限定

3.盡可能減少CGI程序中的系統調用

4.使用web掃描器預先掃描系統

5.下載SQL通用防注入系統的程序,在需要防范注入的頁面頭部用!--# include file=”xxx.asp”-- >來防止別人進行手動注入測試 (針對asp網頁)

6.設置陷阱賬號:設置兩個帳號,一個是普通管理員帳號,一個是防注入的帳號。將防注入的賬號設置的很象管理員,如 admin,以制造假象吸引軟件的檢測,而密碼是大于千字以上的中文字符,迫使軟件分析賬號的時候進入全負荷狀態甚至資源耗盡而死機。

以上這篇JSP使用過濾器防止SQL注入的簡單實現就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • 通過過濾器(Filter)解決JSP的Post和Request中文亂碼問題
  • JSP過濾器Filter配置過濾類型全部匯總
  • JSP 開發中過濾器filter設置編碼格式的實現方法
  • JSP使用Servlet過濾器進行身份驗證的方法
  • JSP過濾器防止Xss漏洞的實現方法(分享)
  • jsp實現登錄驗證的過濾器
  • jsp中過濾器選擇過濾器的寫法詳解
  • 詳解JSP中使用過濾器進行內容編碼的解決辦法
  • servlet+jsp實現過濾器 防止用戶未登錄訪問
  • JSP使用過濾器防止Xss漏洞
  • jsp filter 過濾器功能與簡單用法示例

標簽:自貢 開封 銅川 白銀 山南 吉林 烏蘭察布 臨汾

巨人網絡通訊聲明:本文標題《JSP使用過濾器防止SQL注入的簡單實現》,本文關鍵詞  JSP,使用,過濾器,防止,SQL,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《JSP使用過濾器防止SQL注入的簡單實現》相關的同類信息!
  • 本頁收集關于JSP使用過濾器防止SQL注入的簡單實現的相關信息資訊供網民參考!
  • 推薦文章
    欧美激情一区二区三区中文字幕| 色综合久久天天综线观看| 四虎影视久久久免费| 国产视频一区在线| 国产网站免费视频| 国产原创视频在线| 美女免费毛片| 色综合久久天天综合观看| 午夜在线亚洲| 亚洲天堂一区二区三区四区| 欧美另类videosbestsex久久| 韩国毛片免费大片| 亚洲第一色在线| 韩国三级香港三级日本三级la| 韩国毛片免费| 亚洲 国产精品 日韩| 久久久久久久免费视频| 精品视频在线观看免费| 麻豆系列国产剧在线观看| 成人在免费观看视频国产| 欧美激情一区二区三区视频| 久久精品大片| 精品国产香蕉在线播出 | 国产成人啪精品视频免费软件| 可以免费看毛片的网站| 国产一区二区福利久久| 久草免费资源| 色综合久久天天综合观看| 黄视频网站在线免费观看| 久久久久久久网| 高清一级片| 日本免费区| 国产高清在线精品一区二区 | 色综合久久天天综合| 精品久久久久久综合网| 精品国产一区二区三区久久久蜜臀| 日日爽天天| 91麻豆精品国产高清在线| 欧美18性精品| 欧美另类videosbestsex高清| 99久久精品国产高清一区二区 | 精品视频在线观看视频免费视频 | 久久精品大片| 精品视频在线观看视频免费视频 | 日韩一级黄色片| 精品久久久久久中文字幕2017| 天天色成人网| 欧美国产日韩精品| 国产成人精品在线| 欧美激情一区二区三区视频高清| 久久精品大片| 二级特黄绝大片免费视频大片| 麻豆系列 在线视频| 999精品在线| 成人a大片高清在线观看| 国产韩国精品一区二区三区| 精品在线视频播放| 你懂的福利视频| 日本伦理网站| 韩国三级香港三级日本三级la| 欧美另类videosbestsex视频 | 亚洲精品中文字幕久久久久久| 精品视频在线观看视频免费视频| 亚洲第一视频在线播放| 夜夜操网| 成人影院久久久久久影院| 精品视频一区二区三区免费| 天天做日日爱| 四虎影视久久久免费| 黄色福利片| 天天做人人爱夜夜爽2020毛片| 日韩专区一区| 午夜在线观看视频免费 成人| 欧美爱色| 成人免费网站久久久| 韩国毛片免费| 国产伦精品一区二区三区无广告| 91麻豆国产级在线| 亚洲精品永久一区| 九九久久国产精品| 国产a免费观看| 四虎久久精品国产| 成人免费观看男女羞羞视频| 成人a大片高清在线观看| 日本免费看视频| 欧美激情在线精品video| 精品国产一区二区三区免费| 亚洲爆爽| 日韩中文字幕在线播放| 日本伦理片网站| 国产精品123| 久久福利影视| 亚洲wwwwww| 日本免费乱人伦在线观看 | 午夜家庭影院| 999久久狠狠免费精品| 日韩一级黄色片| 台湾美女古装一级毛片| 久久精品大片| 日韩一级精品视频在线观看| 日本免费看视频| 国产高清在线精品一区二区| 日韩专区第一页| 999久久66久6只有精品| 久久国产影视免费精品| 国产精品123| 可以在线看黄的网站| 可以在线看黄的网站| 日韩免费在线视频| 91麻豆精品国产自产在线观看一区| 久久成人性色生活片| 日本在线www| 日韩专区第一页| 欧美1卡一卡二卡三新区| a级精品九九九大片免费看| 日韩一级黄色| 二级片在线观看| 九九热精品免费观看| 台湾美女古装一级毛片| 日韩专区亚洲综合久久| 日韩字幕在线| 国产伦精品一区三区视频| 日韩中文字幕在线播放| 沈樵在线观看福利| 午夜在线观看视频免费 成人| 天天做日日爱夜夜爽| 韩国毛片 免费| 黄视频网站免费| 香蕉视频亚洲一级| 亚欧成人毛片一区二区三区四区| 你懂的日韩| 四虎影视库| 九九免费高清在线观看视频| 日本免费看视频| 人人干人人插| 亚欧乱色一区二区三区| 九九精品久久久久久久久| 欧美大片aaaa一级毛片| 九九久久99综合一区二区| 美女免费精品高清毛片在线视| 亚飞与亚基在线观看| 久久精品店| 国产不卡精品一区二区三区| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 麻豆网站在线看| 日韩男人天堂| 国产综合91天堂亚洲国产| 99色精品| 韩国毛片免费| 欧美爱爱动态| 亚洲 男人 天堂| 成人影院久久久久久影院| 国产激情视频在线观看| 国产成人精品综合在线| 国产a视频| 国产视频在线免费观看| 国产不卡高清在线观看视频| 色综合久久天天综合绕观看| 精品视频一区二区| 麻豆午夜视频| 九九久久国产精品| 一级毛片视频免费| 国产91精品一区二区| 欧美a级v片不卡在线观看| 精品国产香蕉在线播出 | 欧美爱色| 人人干人人草| 日本免费看视频| 国产美女在线观看| 99久久精品国产高清一区二区| 精品国产一区二区三区久久久蜜臀 | 天天色成人网| 九九热精品免费观看| 色综合久久天天综合观看| 亚州视频一区二区| 四虎影视库| 欧美另类videosbestsex| 精品久久久久久免费影院| 黄色免费网站在线| 日本伦理片网站| 青青青草影院| 国产成人精品综合| 久久精品店| 国产网站免费视频| 四虎影视久久| 99色吧| 欧美a级成人淫片免费看| 国产成人精品一区二区视频| 久久99爰这里有精品国产| 九九国产| 日韩免费在线观看视频| 欧美一区二区三区性| 国产不卡在线看| 久久精品免视看国产成人2021| 久久99爰这里有精品国产| 欧美激情一区二区三区视频高清| 精品视频在线观看一区二区三区| 国产亚洲免费观看| 欧美电影免费看大全| 精品国产亚洲一区二区三区|