标题:sql防注入代码怎么写?
取消只看楼主
zhy328
Rank: 1
等 级:新手上路
帖 子:118
专家分:0
注 册:2007-8-9
结帖率:100%
 问题点数:0 回复次数:2 
sql防注入代码怎么写?
最近网站的数据库接二连三的被注入代码,sql防注入代码一点都不会,我该怎么办?请大家帮忙了!
搜索更多相关主题的帖子: sql 代码 
2008-10-14 09:19
zhy328
Rank: 1
等 级:新手上路
帖 子:118
专家分:0
注 册:2007-8-9
得分:0 
好复杂,一点都不懂,我应该把防注入代码放到什么位置?

2008-10-14 09:27
zhy328
Rank: 1
等 级:新手上路
帖 子:118
专家分:0
注 册:2007-8-9
得分:0 
比如你连接数据库的文件是conn.asp 那么,conn.asp 的内容就有:

<!--#include file="sql.asp"-->

set conn=server.createobject("ADODB.connection")

......

下面是sql.asp的内容:

sql.asp

<%
'--------定义部份------------------
dim sql_injdata
SQL_injdata = "'|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare|1=1|1=2|;"
SQL_inj = split(SQL_Injdata,"|")
'--------POST部份------------------
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('系统提示你!\n\n请不要在参数中包含非法字符尝试注入!\n\n');window.location="&"'"&"index.asp"&"'"&";</Script>"
    Response.end
   end if
   next
Next
End If
'--------GET部份-------------------
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('系统提示你!\n\n请不要在参数中包含非法字符尝试注入!\n\n');window.location="&"'"&"index.asp"&"'"&";</Script>"
    Response.end
   end if
   next
   next
end if
%>
 如果按照这个方法做,sql.asp页面有没有要改动的东西?

2008-10-14 09:37



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-238126-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.283024 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved