我目前正在处理一个遗留的 ASP 项目,其中安全性现在已成为一个大问题。它不仅是不安全的加密方法(md5),而且我担心 SQL 注入问题。我还不太擅长注射,我只尝试了我所知道的基础知识。我找到了“保护”任何用户输入的功能,但我想知道它是否真的在做任何事情来防止注入攻击。这是功能:
function sqlfix(input)
if not isnull(input) and input <> "" then
input = replace(input, ";", ";")
input = replace(input, "'", "'")
input = replace(input, """", """)
input = replace(input, "(", "(")
input = replace(input, ")", ")")
input = replace(input, "|", "|")
input = replace(input, "<", "<")
input = replace(input, ">", ">")
input = replace(input , "'", "''")
'input = Server.HTMLEncode(input)
'input = Server.UrlEncode(input)
sqlfix = input
else
sqlfix = ""
end if
end function
我记得很多年前我第一次使用 mysql_* 函数启动 PHP 时做过类似的事情,但现在我已经转向 PDO 和参数绑定。但是我不知道这对于 ASP 应用程序有多安全。感谢您的任何意见。