探索设计与体验的融合
Fusion design exploration and experience
新塘新闻动态
News
好的新塘网络营销公司会给客户提出建设性的意见,善于对客户进行良性引导
您的位置:>> 新塘网站首页 >> 技术文章
新塘解决网站被黑的办法--SQL注入

    网站被黑,网页无法正常显示,现在已经不是稀奇的事情,只因编写网站程序的程序员技术参差不齐,没有一定的安全意识所致,而网站被黑所惯用的手法就是SQL注入,SQL注入被那些菜鸟级别的所谓黑客高手玩出了滋味,发现现在大部分黑客入侵都是基于SQL注入实现的,哎,谁让这个入门容易呢,好了,不说废话了,现在我开始说如果编写通用的SQL防注入程序一般的http请求不外乎get 和 post,所以只要我们在文件中过滤所有post或者get请求中的参数信息中非法字符即可,所以我们实现http 请求信息过滤就可以判断是是否受到SQL注入攻击。

'解决SQL get注入问题
dim sql_injdata 
SQL_injdata = "'|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare" 
SQL_inj = split(SQL_Injdata,"|") 
If Request.QueryString<>"" Then 
 For Each SQL_Get In Request.QueryString 
  For SQL_Data=0 To Ubound(SQL_inj) 
   if instr(Request.QueryString(SQL_Get),Sql_Inj(Sql_DATA))>0 Then 
     Response.Write "<Script Language=javascript>alert('请勿在此网站玩火!您的IP已记录!');history.back(-1)</Script>" 
     Response.end 
   end if 
  next 
 Next 
End If

'解决SQL Post注入问题
If Request.Form<>"" Then 
  For Each Sql_Post In Request.Form 
    For SQL_Data=0 To Ubound(SQL_inj) 
     if instr(Request.Form(Sql_Post),Sql_Inj(Sql_DATA))>0 Then 
       Response.Write "<Script Language=javascript>alert('请勿在此网站玩火!您的IP已记录!');history.back(-1)</Script>" 
       Response.end 
     end if 
    next 
  next 
end if

    我们已经实现了get和post请求的信息拦截,你只需要在conn.asp之类的打开数据库文件之前引用这个页面即可。放心的继续开发你的程序,不用再考虑是否还会受到SQL注入攻击。

相关链接>>
您对此文有什么评论?
类型: 意见建议 内容报错
网友对此文的评论:
未有评论!