在我问之前 - 我确实知道有关paranterised的查询,但这个问题是专门用于防止SQL注入的正则表达式
我们说我有一个q
参数的查询字符串,我有一个^201[0-9]Q[0-9]$
的正则表达式,我针对传入SQL的参数运行。< / p>
这是否足以作为保护,还是可以利用正则表达式?一些伪代码:
if NOT validateToken(quarter) then
sql = "EXEC dbo.spTest '"&quarter&"'"
end if
由于
答案 0 :(得分:0)
在您的情况下,是的,检查足以阻止SQL注入。 您提出的检查类型是处理用户输入时所需的检查。
因此,根据经验,您不应该连接用户提供的数据和SQL代码,除非您提供有关参数内容的全面检查。
WAIT!你在.Net或SQL中检查参数?如果在.Net中,那你就安全了。 如果不安全的代码进入SQL,你就会被搞砸了。