我将 SQL Server 2005 与经典 ASP 结合使用,并在表单重新发布(我发布回同一页面)上,我按如下方式替换每个文本字段:
course = trim(replace(request("course"),"'","''"))\
这样做的问题是,如果我必须在验证错误的情况下多次重新发布表单,我替换的刻度线会成倍增加。
是否有另一种方法可以安全地审查字符串字段而不进行这种替换?
你最好使用参数化查询:
dim cmd : set cmd = server.createObject("ADODB.Command")
dim param
dim sql : sql = "INSERT INTO table(course) VALUES (?)"
cmd.ActiveConnection = yourDBconnection
cmd.CommandType = adCmdText
set param = cmd.CreateParameter("course", adVarChar, , 20, request("course"))
cmd.Parameters.Append param
cmd.CommandText = sql
cmd.Execute
所以sql注入是完全安全的
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)