防止sql注入的一个方法
2008-05-24 10:48
274 查看
先介绍一下什么是sql注入,下面是我网上找的定义:
SQL注入是从正常的WWW端口访问,而且表面看起来跟一般的Web页面访问没什么区别, 所以目前市面的防火墙都不会对SQL注入发出警报,如果管理员没查看IIS日志的习惯,可能被入侵很长时间都不会发觉。
随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于这个行业的入门门槛不高,程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入。
现在知道概念了,来看看怎么预防吧,这是关键,呵呵。
防止sql注入的一个简单方法就是过滤字符串,把和sql相关的字符串和一些特殊字符过滤掉就OK了。
下面是常用的字符串:
String[] SQL_indata ={":",";",">","<","--","sp_","xp_","/","dir","cmd","^","(",")","+","$","'","copy","format","and","exec","insert","select","delete","update","count","*","%","chr","mid","master","truncate","char","declare"};
SQL注入是从正常的WWW端口访问,而且表面看起来跟一般的Web页面访问没什么区别, 所以目前市面的防火墙都不会对SQL注入发出警报,如果管理员没查看IIS日志的习惯,可能被入侵很长时间都不会发觉。
随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于这个行业的入门门槛不高,程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入。
现在知道概念了,来看看怎么预防吧,这是关键,呵呵。
防止sql注入的一个简单方法就是过滤字符串,把和sql相关的字符串和一些特殊字符过滤掉就OK了。
下面是常用的字符串:
String[] SQL_indata ={":",";",">","<","--","sp_","xp_","/","dir","cmd","^","(",")","+","$","'","copy","format","and","exec","insert","select","delete","update","count","*","%","chr","mid","master","truncate","char","declare"};
相关文章推荐
- asp.net防止sql注入,删除关键字的一个重要方法
- Yii框架防止sql注入,xss攻击与csrf攻击的方法
- 中国的大多数软件的一个bug和我眼中最保险的防止程序运行多次的方法
- 一个防止被采集的方法
- 有效防止SQL注入的5种方法总结
- vb学生管理系统防止SQL注入两种方法
- T-SQL篇如何防止SQL注入的解决方法(2)
- 防止sql注入的五种方法
- T-SQL篇如何防止SQL注入的解决方法
- 一个防止误删MSSQL数据库的方法
- 开发一个安全的小网站(一)防止sql注入
- .net中防止SQL注入 方法
- php中防止SQL注入的方法
- 一个极其简单的防止SQL注入的办法(只针对部分有效)转自csdn论坛
- JS代码防止SQL注入的方法(超简单)
- asp.net防止一个用户登录多次的方法
- 防止SQL注入三种处理方法
- 转:PHP中防止SQL注入的方法
- java持久层框架mybatis防止sql注入的方法
- 防止一个用户登录多次的方法