如何在referer url中找到正则表达式?

时间:2015-06-17 22:46:56

标签: regex nginx

要拒绝一些滥用有效裁判攻击某些网址的垃圾邮件发送者,我需要使用正则表达式规则拒绝所有google.*引用/some/target/url

以下是我尝试的内容:

location  ^~  /some/target/url {
if ($http_referer ~ (.*)google(.*))
 {  return 400;
     }
}

更新: 我在上面的规则中要避免的只是谷歌。*引用者,例如

google.com
google.de
google.co.uk
google.jp
...

但是,基于access.log,上述指令(以及我尝试过的其他指令)不起作用。所以我感谢你的帮助。

1 个答案:

答案 0 :(得分:0)

不需要括号,所以你可以:

~ google

不区分大小写:

~* google

然后,您可能希望使其更加健壮,例如,避免http://www.your.com/google