【问题标题】:Regex to detect back slashes, numbers and special characters in a query string正则表达式检测查询字符串中的反斜杠、数字和特殊字符
【发布时间】:2016-07-05 17:54:51
【问题描述】:

今天对于我在 Stack Overflow 上找到答案或者甚至是谷歌和男孩来说一定是非常糟糕的一天,我真的在寻找这个问题的答案。

我注意到一些 IP 向 Nginx 发送这样的查询字符串

\xB1\xF2\x08\xF5lN;\x15T-\x06\x03N

请注意,这些都是反斜杠 \ 而不是 URL 中使用的通常 / 正斜杠。还要注意他们发送的所有特殊字符。

我的问题是试图找到一个匹配这样的查询字符串模式的正则表达式,无论它有多长。我见过一些比这长 10 倍的。

Nginx 当然会以 400 错误响应,所以不用担心,但我想检测这种行为并在检测到它时进行重写或发生其他事情。

希望有人可以提供帮助。我的正则表达式在最好的时候生锈了,今天我的脑袋都被流感弄得一团糟。

【问题讨论】:

    标签: regex nginx url-rewriting


    【解决方案1】:

    这样的?

    [\\\w+\d+\;\-]+
    

    https://regex101.com/r/zD2oH8/1

    【讨论】:

    • 太棒了,鞠躬。我不知道你是怎么这么快做到的,但我想当你可以用正则表达式思考时,你可以流利地写出来。我必须真正坐下来学习我的方法,我将从这个例子开始并彻底研究它。我刚刚在您的正则表达式前面添加了 ^ ,它在该站点上的测试字符串中准确地提取了该模式开始的位置并匹配了整个模式。看到我已经学到了一些东西。谢谢一百万!!!
    • 欢迎您 :) 如果您想开始学习正则表达式 - 从这个开始:regexone.com。然后,您将解决 2-3 次,stackoverflow.com/questions/tagged/regex 并练习。这并不难:) 谢谢你的好话,祝你好运!
    猜你喜欢
    • 2016-03-23
    • 2020-03-25
    • 1970-01-01
    • 2015-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-23
    相关资源
    最近更新 更多