`

防止 SQL注入

 
阅读更多

web.xml  中配置如下

<filter-mapping>
  <filter-name>SQLFilter</filter-name>
  <url-pattern>*.shtml</url-pattern>
 </filter-mapping>

 

<filter>
  <filter-name>SQLFilter</filter-name>
  <filter-class>com.zte.frame.filter.SQLFilter</filter-class>
  <init-param>
   <param-name>keywords</param-name>
   <param-value>'|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare|;|or|-|+|,|--</param-value>
  </init-param>
 </filter>

 

--后台代码如下:

public void doFilter(ServletRequest request, ServletResponse response,
  FilterChain chain) throws IOException, ServletException {
  HttpServletRequest req = (HttpServletRequest)request;
  HttpServletResponse res = (HttpServletResponse)response;
  Iterator values = req.getParameterMap().values().iterator();//获取所有的表单参数
  while(values.hasNext()){
   String[] value = (String[])values.next();
   for(int i = 0;i < value.length;i++){
    if(sql_inj(value[i])){
     //TODO这里发现sql注入代码的业务逻辑代码
     log.info("------------参数中包含非法字符----'" +value[i]+ "'----------");
     PrintWriter out = res.getWriter();
     out.print("<Script Language='javascript'>alert('参数中包含非法字符!');</Script>");
     out.close();
     return ;
    }
   } 
  }
  chain.doFilter(request, response);
 }

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    mybatis如何防止SQL注入

    ### MyBatis如何防止SQL注入 #### SQL注入简介与危害 SQL注入是一种常见的Web应用程序安全漏洞,攻击者可以通过提交恶意的SQL代码到应用程序的输入字段中(如表单、URL等),利用这些输入来操控数据库执行非预期的...

    使用Python防止SQL注入攻击的实现示例

    ### 使用Python防止SQL注入攻击的实现示例 #### 文章背景与重要性 随着网络技术的发展,Web应用程序的安全性越来越受到人们的重视。开放式Web应用程序安全项目(OWASP)每几年都会发布一次关于Web应用程序最常见...

    Java防止SQL注入的几个途径

    Java 防止 SQL 注入的几个途径 Java 防止 SQL 注入是一个非常重要的安全问题。SQL 注入攻击是黑客最常用的攻击方式之一,它可以让攻击者访问或修改数据库中的敏感信息。因此,防止 SQL 注入是 Java 开发者必须注意...

    Python中防止sql注入的方法详解

    ### Python中防止SQL注入的方法详解 #### 前言 SQL注入是一种常见的网络安全攻击手段,攻击者通过在输入数据中嵌入恶意SQL代码,利用应用程序的漏洞执行非法操作,如篡改、删除或检索敏感数据等。对于使用Python...

    java防止SQL注入

    Java 防止 SQL 注入 Java 防止 SQL 注入是一个至关重要的安全问题,SQL 注入攻击是最常见的攻击方式之一,它不是利用操作系统或其他系统的漏洞来实现攻击的,而是程序员因为没有做好判断,被不法用户钻了 SQL 的...

    C# MVC 过滤器防止SQL注入

    C# MVC 过滤器防止SQL注入

    jsp 防止sql注入jsp 防止sql注入

    使用预编译的SQL语句(例如PreparedStatement)是防止SQL注入的最佳实践。这种方式将SQL语句与用户输入的数据分离,确保即使用户输入恶意代码,也不会影响到查询结构。例如: ```java String query = "SELECT * ...

    SQL注入原理以及Spring Boot如何防止SQL注入(含详细示例代码)

    防止SQL注入的方法主要包括: 1. 参数化查询:使用预编译的SQL语句(如PreparedStatement),将用户输入作为参数传递,而不是直接拼接到SQL字符串中。这样可以防止恶意代码改变SQL语句的结构。 2. 使用存储过程:...

    防止sql注入工具类l

    防止SQL注入是每个Web开发者必须关注的重要问题。在这个主题中,我们将深入探讨“防止SQL注入工具类”的相关知识点,以及如何在实际开发中有效地应用这些工具。 首先,我们需要理解SQL注入的基本原理。当应用程序...

    JS代码防止SQL注入的方法(超简单)

    本文主要介绍了如何使用JavaScript代码来防止SQL注入,这是为了保证Web应用的安全性,防止恶意用户通过输入特定的SQL语句来破坏数据库。文章从两个方面进行了说明,包括URL地址防注入和输入文本框防注入。 首先,...

    c# 全站防止sql注入

    C#全站防止SQL注入是确保应用程序安全的关键措施,下面将详细介绍如何利用Global.asax和App_code中添加类来实现这一目标。 首先,我们来理解Global.asax文件的作用。Global.asax,也被称为应用程序全局事件处理程序...

    防止sql注入解决方案

    为了防止SQL注入,开发者需要采取一系列的预防措施,确保应用程序的安全性。以下是一些核心的解决方案: 1. **预编译语句(PreparedStatement)**: 题目中提到的预编译语句是防止SQL注入的关键技术。预编译语句在...

    如何防止sql注入【转载】

    SQL 注入防止方法 SQL 注入是一种常见的攻击手法,攻击者可以通过在输入数据中注入恶意的 SQL 代码,从而获取数据库的敏感信息或控制数据库。为了防止 SQL 注入,需要从多方面入手,包括使用预编译语句、正则表达式...

    Mybatis 如何防止 sql 注入?mybatis 拦截器了解过吗,应用场景是什么.详情介绍

    Mybatis 如何防止 sql 注入?mybatis 拦截器了解过吗,应用场景是什么.详情介绍Mybatis 如何防止 sql 注入?mybatis 拦截器了解过吗,应用场景是什么.详情介绍Mybatis 如何防止 sql 注入?mybatis 拦截器了解过吗,...

    防止sql注入demo

    本示例"防止SQL注入demo"是针对这种威胁的一种防御措施,主要关注Java环境下的解决方案。下面我们将深入探讨SQL注入的基本原理、为何需要防止以及如何在Java中实现过滤器(Filter)来防止此类攻击。 1. SQL注入基础...

    C# 防止SQL注入式攻击

    本文将深入探讨C#防止SQL注入式攻击的相关知识点,并结合"Ex18_04防止SQL注入式攻击"这一示例进行说明。 1. **理解SQL注入攻击** SQL注入攻击通常发生在应用程序没有正确验证用户输入时,攻击者可以通过输入特定的...

    防止SQL注入式攻击

    在提供的"防止SQL注入式攻击.exe"和"SQLInner"这两个文件中,可能包含了一个示例程序或工具,用于演示如何防止SQL注入。运行或研究这些文件可以加深对防御机制的理解。不过,从安全角度出发,不应随意运行未知来源的...

    asp.net和vb.net 防止sql注入源码

    详细的介绍了防止sql注入攻击,内附asp.net 源码和vb.net源码。是初学者不错的选择。希望能够帮助到你。

    参数化查询为什么能够防止SQL注入[整理].pdf

    参数化查询为什么能够防止SQL注入 参数化查询是一种防止SQL注入的有效方法,但很多人不知道为什么参数化查询能够防止SQL注入。下面,我们将一步一步的解释为什么SQL注入发生和参数化查询如何防止SQL注入。 首先,...

    Mybatis 如何防止 sql 注入?mybatis 拦截器了解过吗,应用场景是什么.txt|Mybatis 如何防止 sql 注入?mybatis 拦截器了解过吗,应用场景是什么.txt

    Mybatis 如何防止 sql 注入?mybatis 拦截器了解过吗,应用场景是什么答案 Mybatis 如何防止 sql 注入?mybatis 拦截器了解过吗,应用场景是什么答案

Global site tag (gtag.js) - Google Analytics