【发布时间】:2021-04-16 23:16:42
【问题描述】:
我试图阻止一个使用请求的页面作为 http_referer 的网络爬虫,但我无法确定将其与哪个变量进行比较。
例如
location / {
if ($the_variable_with_the_current_full_uri = $http_referer) {
return 403;
}
}
该变量必须匹配协议、主机和 URL,这样从 http 到 https 的内部重定向不会被阻止。
所以如果有人用“https://www.example.com/pages/1”的$http_referer请求“https://www.example.com/pages/1”,就应该被屏蔽。
作为第二个问题,是否可以在两个条件下阻止请求:上述检查匹配的位置以及匹配特定的用户代理字符串?
【问题讨论】:
标签: nginx nginx-config