简单正则表达式问题(C#,SQL Server)

简单正则表达式问题(C#,SQL Server),c#,sql-server,regex,winforms,sql-injection,C#,Sql Server,Regex,Winforms,Sql Injection,我有一些正则表达式,它看起来像这样: string regexForDrop = @"^((%27)|'|(\-\-))\s*(d|%64|%44)(r|%72|%52)(o|%6F|%4F)(p|%70|%50)$"; 当我写输入--“drop”时,它工作得很好,但当我写“drop table users”或类似的东西时,它不工作。我需要它能起作用,不管“放下”之后发生什么。我如何实现这一点 谢谢您似乎在试图阻止sql注入攻击。为此,以这种方式使用参数化查询,您不需要检查注入 读得好: ?

我有一些正则表达式,它看起来像这样:

string regexForDrop = @"^((%27)|'|(\-\-))\s*(d|%64|%44)(r|%72|%52)(o|%6F|%4F)(p|%70|%50)$";
当我写输入--“drop”时,它工作得很好,但当我写“drop table users”或类似的东西时,它不工作。我需要它能起作用,不管“放下”之后发生什么。我如何实现这一点


谢谢

您似乎在试图阻止sql注入攻击。为此,以这种方式使用参数化查询,您不需要检查注入

读得好:


??或者不使用
$

删除正则表达式末尾的“$”匹配输入字符串的结尾。

您在这里试图防止SQL注入攻击吗?我强烈建议不要使用正则表达式作为SQL注入的安全方法。这是一个让HackedEvent成功的秘方,如果它对“--drop”,或者“--truncate”或者其他一些人可以做的邪恶事情有效的话。-1因为它是有史以来最愚蠢的想法之一。是的,我知道SP,我只是做一些关于regex to的研究。是的,我知道SP,我只是做一些关于regex to的研究。谢谢你的链接,我会读的。+1,不管@Vytas999的原因是什么,你写了代码来解决它
string regexForDrop = @"^((%27)|'|(\-\-))\s*(d|%64|%44)(r|%72|%52)(o|%6F|%4F)(p|%70|%50).*$";