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

发布于 2024-08-25 02:34:16 字数 258 浏览 6 评论 0原文

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

string regexForDrop = @"^((%27)|'|(\-\-))\s*(d|%64|%44)(r|%72|%52)(o|%6F|%4F)(p|%70|%50)$";

当我写入输入“--drop”时,它工作正常,但当我写入“drop table users”或类似内容时,它不起作用。我需要它能够正常工作,无论“--drop”之后发生什么。我怎样才能实现它?

谢谢

I have some Regex, it looks like this:

string regexForDrop = @"^((%27)|'|(\-\-))\s*(d|%64|%44)(r|%72|%52)(o|%6F|%4F)(p|%70|%50)$";

It works fine, when i write to the input "--drop", but it does not works, when i write "drop table users" or something like that. I need that it would be working, no matter what comes after "--drop". How i can implement that?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

感性 2024-09-01 02:34:16

看来你试图阻止 sql 注入攻击。为此,使用参数化查询,这样您就不需要检查注入。

好读:
http:// weblogs.asp.net/scottgu/archive/2006/09/30/Tip_2F00_Trick_3A00_-Guard-Against-SQL-Injection-Attacks.aspx

It seems you trying to prevent a sql injection attack. For this use Parameterized Queries this way you don't need to check for injections.

Good Read:
http://weblogs.asp.net/scottgu/archive/2006/09/30/Tip_2F00_Trick_3A00_-Guard-Against-SQL-Injection-Attacks.aspx

鱼窥荷 2024-09-01 02:34:16
string regexForDrop = @"^((%27)|'|(\-\-))\s*(d|%64|%44)(r|%72|%52)(o|%6F|%4F)(p|%70|%50).*$";

?或没有 $

string regexForDrop = @"^((%27)|'|(\-\-))\s*(d|%64|%44)(r|%72|%52)(o|%6F|%4F)(p|%70|%50).*$";

? or without the $

狼亦尘 2024-09-01 02:34:16

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

Remove the '$' at the end of your regular expression. $ matches the end of the input string.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文