Web开发和接管某些代码的新手。他们有一个功能,以防止SQL注入,SQL Server数据库SQL Server注入
function safe(val, maxsize)
dim i,
terms = array(
"cast",
"select",
"varchar",
"declare",
"drop",
";",
"--",
"insert",
"delete",
"xp_"
)
val = left(val,maxsize)
val = trim(val)
for i = 0 to ubound(terms)
val = replace(val, terms(i), "e_" & val & "_e", vbTextCompare)
next
val = replace(val, "'", "''")
makesafe = val
end function
犹豫要触摸这个,但这是否缺少什么?似乎他们偶尔砍死
如果他们被黑客攻击,他们应该正确处理注入 - 使用带有正确数据类型的参数化语句,验证输入并且不要盲目地基于用户(甚至是应用程序)提交的字符串生成SQL语句。这个“安全”功能对我来说就像是一张虚假的安全毯。 –
使用**参数化查询**而不是将您的SQL语句连接在一起是您**唯一可行的方法。忘记“消毒”你的输入 - 你会永远忘记一些东西 - 只是使用参数化查询并用它来完成...... –
'exec'呢? – tugberk