在ASP中,可以使用两个函数来防止SQL注入式攻击:,,1.
Server.HTMLEncode: 该函数用于将字符串中的HTML特殊字符转换为其对应的HTML实体编码,从而避免执行恶意代码。,,2. Replace: 该函数可以替换掉字符串中的特定字符或子字符串,例如将单引号(’)替换为两个单引号(”),以阻止SQL注入。,,这两个函数可以帮助开发者提高应用程序的安全性,减少受到SQL注入攻击的风险。在ASP开发中,防止SQL注入式攻击是保障网站安全的重要措施,以下是两个用于防止SQL注入的Function:

一、ForSqlForm
1、功能描述:ForSqlForm函数主要用于过滤表单提交的数据,检查其中是否包含非法字符,如果发现非法字符,将阻止表单提交并提示用户。
2、代码示例
function ForSqlForm()
dim fqys,errc,i,items
dim nothis(18)
nothis(0)="net user"
nothis(1)="xp_cmdshell"
nothis(2)="/add"
nothis(3)="exec%20master.dbo.xp_cmdshell"
nothis(4)="net localgroup administrators"
nothis(5)="select"
nothis(6)="count"
nothis(7)="asc"
nothis(8)="char"
nothis(9)="mid"
nothis(10)="'"
nothis(11)=":"
nothis(12)=""""
nothis(13)="insert"
nothis(14)="delete"
nothis(15)="drop"
nothis(16)="truncate"
nothis(17)="from"
nothis(18)="%"
'nothis(19)="@"
errc=false
for i= 0 to ubound(nothis)
for each items in request.Form
if instr(request.Form(items),nothis(i))<>0 then
response.write("<div>")
response.write("你所填写的信息:" & server.HTMLEncode(request.Form(items)) & "<br>含非法字符:" & nothis(i))
response.write("</div>")
response.write("对不起,你所填写的信息含非法字符!<a href=""#"" οnclick=""history.back()"">返回</a>")
response.End()
end if
next
end for
end function二、ForSqlInjection
1、功能描述:ForSqlInjection函数用于过滤查询字符串中的非法字符,如果发现非法字符,将阻止查询并提示用户。
2、代码示例
function ForSqlInjection()
dim fqys,errc,i
dim nothis(19)
fqys = request.ServerVariables("QUERY_STRING")
nothis(0)="net user"
nothis(1)="xp_cmdshell"
nothis(2)="/add"
nothis(3)="exec%20master.dbo.xp_cmdshell"
nothis(4)="net localgroup administrators"
nothis(5)="select"
nothis(6)="count"
nothis(7)="asc"
nothis(8)="char"
nothis(9)="mid"
nothis(10)="'"
nothis(11)=":"
nothis(12)=""""
nothis(13)="insert"
nothis(14)="delete"
nothis(15)="drop"
nothis(16)="truncate"
nothis(17)="from"
nothis(18)="%"
nothis(19)="@"
errc=false
for i= 0 to ubound(nothis)
if instr(FQYs,nothis(i))<>0 then
errc=true
end if
next
if errc then
response.write "查询信息含非法字符!<a href=""#"" οnclick=""history.back()"">返回</a>"
response.end
end if
end function相关问题与解答
问题1:什么是SQL注入式攻击?
答案:SQL注入式攻击是指攻击者通过向Web表单或页面请求的查询字符串中插入恶意SQL命令,欺骗服务器执行这些命令,从而获取未经授权的访问或进行破坏性操作,这种攻击方式利用了应用程序对用户输入的信任和直接使用,没有进行充分的验证和过滤。
问题2:如何有效防止SQL注入式攻击?
答案:有效防止SQL注入式攻击的方法包括:替换单引号,删除用户输入内容中的所有连字符,限制数据库帐户权限,使用存储过程来执行所有查询,限制表单或查询字符串输入的长度,检查用户输入的合法性,将用户登录名称、密码等数据加密保存,以及检查提取数据的查询所返回的记录数量,这些方法可以单独或组合使用,以提高系统的安全性。
以上内容就是解答有关“ASP下的两个防止SQL注入式攻击的Function”的详细内容了,我相信这篇文章可以为您解决一些疑惑,有任何问题欢迎留言反馈,谢谢阅读。
文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/5159.html<
