您现在的位置: 中国IT实验室 >> CIW >> 应用技术 >> 文章正文
最友好的SQL注入防御方法

ChinaITLab收集整理  2005-7-19  保存本文  推荐给好友  QQ上看本站  收藏本站



  不知道是不是有些人给SQL注入吓怕了,把一大堆根本对系统安全没威胁的字符(比如"号,%号等)都过滤了(甚至NB联盟有些人居然也这样做),使得一些系统的User Interface极不友好,经常出现"输入特殊字符"的提示,造成用户的流失.
  
  以下是根据我一年注入经验的总结,在绝对安全的前提下,过滤得最少,最友好的防注入方法:
  
  1.数字型变量:用isNumeric()判断是否为数字
  
  2.字符型或其它类型变量:将单引号'替换成两个
  
  下面给出两个函数,用来代替ASP的Request函数,只要每处地方使用这两个函数取值,SQL注入根本没有用武之地.
  
  '----------------------------------------------------------------
  ' 获取数字型参数
  '----------------------------------------------------------------
  Function ReqNum ( StrName )
  
  ReqNum = Request ( StrName )
  
  if not isNumeric ( ReqNum ) then
  
  response.write "参数必须为数字型!"
  
  response.end
  
  end if
  
  End Function
  
  '----------------------------------------------------------------
  ' 获取字符型参数
  '----------------------------------------------------------------
  
  Function ReqStr ( StrName )
  
  ReqStr = Replace ( Request(StrName), "'", "''" )
  
  End Function




 相关文章  热门文章
可攻击3种浏览器代码流于互联网
黑客最新的兴趣点,下个目标会是谁?
“僵尸”——垃圾邮件的主要传播源
Lebreat蠕虫惊现3变种
POSTFIX反病毒反&…
在FreeBSD上用PHP实现在线添加FTP用户
简单让你在…
安全版本:OpenBSD 入门技巧解析
Internet连接共享上网完全攻略
关于ADSL上网网速常识

 文章评论


认证培训
热门专题       more
相关下载
论坛新帖
博 客