cnpaf.net - 中国协议分析网

投递文章 投稿指南 RSS订阅 网站通告:
搜索: 您的位置主页>网络安全>黑客攻防>阅读文章

最友好的SQL注入防御方法

10-12 02:36 来源: 作者: 【 评论:0 浏览:

  不知道是不是有些人给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

收藏此篇文章内容到:
Tags:
责任编辑:
  • 请文明参与讨论,禁止漫骂攻击。 用户名:新注册) 密码: 匿名:
    评论总数:0 [ 查看全部 ] 网友评论
    关于我们 - 广告合作 - 网站地图 - 版权说明 - 网站历史 - 世界排名 - 加入收藏 - 设为首页 - 返回顶部