SQL防注入 您所在的位置:网站首页 sql防止注入最简单的方式 SQL防注入

SQL防注入

#SQL防注入| 来源: 网络整理| 查看: 265

SQL

防注入

 

SQL

注入原理:

SQL

注入攻击是黑客对数据库进行攻击的常用手段之一。随着

B/S

模式

应用开发的发展,

使用这种模式编写应用程序的程序员也越来越多。

但是由于程序员的水

 

及经验也参差不齐,

相当大一部分程序员在编写代码的时候,

没有对用户输入数据的合法性

进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代

 

码,根据程序返回

的结果,获得某些他想得知的数据,这就是所谓的

SQL 

Injection

,即

SQL

注入。

SQL

注入是

从正常的

WWW

端口访问,而且表面看起来跟一般的

Web

页面访问没什么区别,所以目前

市面的防火墙都不会

 

SQL

注入发出警报,如果管理员没查看服务器日志的习惯,可能被

入侵很长时间都不会发觉。但是,

SQL

注入的手法相当灵活,在注入的时候会碰到很多意外

 

的情况,需要构造巧妙的

SQL

语句,从而成功获取想要的数据。

 

 

java

SQL

注入

,

最简单的办法是杜绝

SQL

拼接

,SQL

注入攻击能得逞是因为在原有

SQL

语句中加入了新的逻辑,如果使用

PreparedStatement

来代替

Statement

来执行

SQL

语句,

其后只是输入参数,

SQL

注入攻击手段将无效,这是因为

PreparedStatement

不允许在不同

的插入时间改变查询的逻辑结构

 ,

大部分的

SQL

注入已经挡住了

WEB

层我们可以过滤用

户的输入来防止

SQL

注入。

 

 

一、在通用防注入类添加防注入函数

 

public class StringUtil { 

public static boolean sql_inj(String str) 

 

 { 

 String inj_str = "'|and|exec|insert|select|delete|update|count|*|%|chr|mid|master 

|truncate|char|declare|;|or|-|+|,"; 

String inj_stra[] = split(inj_str,"|"); 

 for (int i=0 ; i =0) 

 { 

  

return true; 

 } 

  

return false; 

jsp

中调用该函数检查是否包函非法字符

 

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有