3个回答
2014-03-01
展开全部
一般的http请求不外乎 get 和 post两种,如果过滤掉所有post或者get请求中的参数信息中的非法字符,那么也就实现了防SQL注入。
首先定义请求中不能包含如下字符:
'|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare
各个字符用"|"隔开,然后再判断Request.QueryString,具体代码如下:
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('请不要在参数中包含非法字符!');history.back(-1)}</Script>"
Response.end
end if
next
Next
End If
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('请不要在参数中包含非法字符!');history.back(-1)}</Script>"
Response.end
end if
next
next
end if
然后在使用的时候将这两段代码放在数据库连接的文件里一起Include进来即可。
首先定义请求中不能包含如下字符:
'|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare
各个字符用"|"隔开,然后再判断Request.QueryString,具体代码如下:
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('请不要在参数中包含非法字符!');history.back(-1)}</Script>"
Response.end
end if
next
Next
End If
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('请不要在参数中包含非法字符!');history.back(-1)}</Script>"
Response.end
end if
next
next
end if
然后在使用的时候将这两段代码放在数据库连接的文件里一起Include进来即可。
上海国想
2024-12-02 广告
2024-12-02 广告
如果服务器被攻击,上海国想科技发展有限公司应立即采取以下措施:首先,启动应急预案,隔离受感染的系统,防止攻击扩散。其次,分析攻击源,确定攻击方式和目的,以便采取针对性的防御措施。然后,加强服务器的安全防护,如更新补丁、配置防火墙规则、使用防...
点击进入详情页
本回答由上海国想提供
2014-03-01
展开全部
你在每个需要提交的页面,加入一个提交验证代码
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-03-01
展开全部
或者你直接买防注入的空间
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询