我们设置了 valid_referers none blocked,意味着只有当请求头中不存在 Referer 字段,或者 Referer 字段的值被修改或删除时,才允许访问这些资源。如果 Referer 字段存在且为有效 URL,则请求将被拒绝,并返回 403 状态码。 配置后的预期行为或效果 配置上述规则后,当用户直接从浏览器输入 URL 访问 /protected/ 下的...
Nginx 通过配置 valid_referers 来实现防盗链。 语法: valid_referers none | blocked | server_names | string; 配置段: server, location valid_referers 有4类值可以使用,none、blocked、server_names、string。 none:代表没有 Referer。即请求头缺少 Referer 字段。 blocked:表示 Referer 值被防火墙进行了伪装。
能看到valid_referers总共有4种值可以使用,none、blocked、server_names、string。 我们暂且概括一下有3种值可以用: 1.none //直接访问url,而不使用任何网站或链接的跳转,$http_referer变量的值是空的。 2.blocked //请求标头中存在“ Referer”字段,但其值已被防火墙或代理服务器删除;这些值是不以“ http://...
构造Referer的请求很容易实现,所以使用这个模块并不能100%的阻止这些请求。 2、valid_referers 指令 语法: valid_referers none | blocked | server_names | string … ; 配置段: server, location 指定合法的来源'referer', 他决定了内置变量$invalid_referer的值,如果referer头部包含在这个合法网址里面,这个变量被...
方法1:使用valid_referers指令 Nginx的valid_referers指令允许您定义允许的引用来源,从而限制资源的访问。以下是一个示例配置: server{listen80;server_nameyourwebsite.com;location/images{valid_referersnoneblockedyourwebsite.com;if($invalid_referer){return403;}# 处理图片请求的配置}# 其他站点配置...} ...
valid_referers none|blocked|server_names|string …; 定义referer首部的合法可用值,不能匹配的将是非法值 none:请求报文首部没有referer首部 blocked:请求报文有referer首部,但无有效值 server_names:referer首部中包含本主机名 arbitrary_string:任意字符串,但可使用*作通配符 ...
valid_referers none blocked server_names *.test.com ; //定义白名单 if ($invalid_referer) { return 403; }//如果不是白名单里的就返回403 access_log off; } 1. 2. 3. 4. 5. 6. 7. 8. 9. curl测试,-e指定referer: referer是白名单里的才能正常访问(referer要记得加http://) ...
方法1:使用valid_referers指令 Nginx的valid_referers指令允许您定义允许的引用来源,从而限制资源的访问。以下是一个示例配置: 代码语言:javascript 复制 server{listen80;server_name yourwebsite.com;location/images{valid_referers none blocked yourwebsite.com;if($invalid_referer){return403;}# 处理图片请求的配置...
none : 允许没有http_refer的请求访问资源; blocked : 允许不是http://开头的,不带协议的请求访问资源; server_names: 表示是以下域名允许访问 配置如下: location ~* \.(gif|jpg|png|webp)$ { valid_referers none blocked server_names *.testnginx.com ~\.baidu\. ~\.google\.; ...
设置验证referer,其实前端是可以不带referer的- - |,只需要设置img的属性referrerpolicy="no-referrer"即可。 server { listen 8000; server_name 120.79.249.130; location / { root /home/nginx/static/; valid_referers none blocked server_names;