防sql注入代码:ASP防SQL注入的两种函数代码
时间:2010-05-14
来源:互联网
FunctionSafeRequest(ParaName,ParaType)
’---传入参数---
’ParaName:参数名称-字符型
’ParaType:参数类型-数字型(1表示以上参数是数字,0表示以上参数为字符)
DimParaValue
ParaValue=Request(ParaName)
IfParaType=1then
IfnotisNumeric(ParaValue)then
Response.write\"参数\"&ParaName&\"必须为数字型!\"
Response.end
Endif
Else
ParaValue=replace(ParaValue,\"’\",\"’’\")
Endif
SafeRequest=ParaValue
Endfunction
用SafeRequest(ParaName,ParaType)代替request.form(\"\")和request..querystring(\"\")
*********************************************************************************************************
-------------------------------------------------------------------------------------------------------------------------------------------
*********************************************************************************************************
<%
dimsql_injdata
sql_injdata=\"’|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare\"
sql_injHint=replace(sql_injdata,\"|\",\"\")
sql_injHint=replace(sql_injHint,\"’\",\"’\")
sql_inj=split(sql_injdata,\"|\")
ifrequest.querystring<>\"\"then
foreachgetDatainrequest.querystring
fori=0toubound(sql_inj)
ifinstr(lcase(request.querystring(getData)),sql_inj(i))>0then
hint=\"alert(’为了保证用户的信息安全,请不要使用非法注入字符。如下字符为非法的:@sql_injHint@’);\"
hint=replace(hint,\"@sql_injHint@\",sql_injHint)
response.write\"<scriptlanguage=javascript>\"
response.writehint
response.write\"history.back()\"
response.write\"</script>\"
response.end
endif
next
next
endif
ifrequest.form<>\"\"then
foreachgetDatainrequest.querystring
fori=0toubound(sql_inj) [Page]
ifinstr(lcase(request.form(getData)),sql_inj(i))>0then
hint=\"alert(’为了保证用户的信息安全,请不要使用非法注入字符。如下字符为非法的:@sql_injHint@’);\"
hint=replace(hint,\"@sql_injHint@\",sql_injHint)
response.write\"<scriptlanguage=javascript>\"
response.writehint
response.write\"history.back()\"
response.write\"</script>\"
response.end
endif
next
next
endif
%>将此段代码形成一个文件(如:defanj.asp),将所有要用到数据库的文件头部加入<!--#includefile=defanj.asp-->
’---传入参数---
’ParaName:参数名称-字符型
’ParaType:参数类型-数字型(1表示以上参数是数字,0表示以上参数为字符)
DimParaValue
ParaValue=Request(ParaName)
IfParaType=1then
IfnotisNumeric(ParaValue)then
Response.write\"参数\"&ParaName&\"必须为数字型!\"
Response.end
Endif
Else
ParaValue=replace(ParaValue,\"’\",\"’’\")
Endif
SafeRequest=ParaValue
Endfunction
用SafeRequest(ParaName,ParaType)代替request.form(\"\")和request..querystring(\"\")
*********************************************************************************************************
-------------------------------------------------------------------------------------------------------------------------------------------
*********************************************************************************************************
<%
dimsql_injdata
sql_injdata=\"’|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare\"
sql_injHint=replace(sql_injdata,\"|\",\"\")
sql_injHint=replace(sql_injHint,\"’\",\"’\")
sql_inj=split(sql_injdata,\"|\")
ifrequest.querystring<>\"\"then
foreachgetDatainrequest.querystring
fori=0toubound(sql_inj)
ifinstr(lcase(request.querystring(getData)),sql_inj(i))>0then
hint=\"alert(’为了保证用户的信息安全,请不要使用非法注入字符。如下字符为非法的:@sql_injHint@’);\"
hint=replace(hint,\"@sql_injHint@\",sql_injHint)
response.write\"<scriptlanguage=javascript>\"
response.writehint
response.write\"history.back()\"
response.write\"</script>\"
response.end
endif
next
next
endif
ifrequest.form<>\"\"then
foreachgetDatainrequest.querystring
fori=0toubound(sql_inj) [Page]
ifinstr(lcase(request.form(getData)),sql_inj(i))>0then
hint=\"alert(’为了保证用户的信息安全,请不要使用非法注入字符。如下字符为非法的:@sql_injHint@’);\"
hint=replace(hint,\"@sql_injHint@\",sql_injHint)
response.write\"<scriptlanguage=javascript>\"
response.writehint
response.write\"history.back()\"
response.write\"</script>\"
response.end
endif
next
next
endif
%>将此段代码形成一个文件(如:defanj.asp),将所有要用到数据库的文件头部加入<!--#includefile=defanj.asp-->
作者: dadaibaby8 发布时间: 2010-05-14
该回复于2010-05-17 08:30:06被版主删除
- 对我有用[0]
- 丢个板砖[0]
- 引用
- 举报
- 管理
- TOP
|
#2楼 得分:0回复于:2010-05-16 10:39:23
|
作者: ivy999 发布时间: 2010-05-16
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28