nginx静态资源防盗链
2024-09-06 02:27:33
含义:
用于阻止 Referer 头字段为无效值的请求访问站点。需记住的是,使用适当的 Referer 字段值来伪造请求非常容易,因此本模块的预期目的不是要彻底阻止此类请求,而是阻止常规浏览器发送的大量流量请求。还应该考虑到,即使是有效请求,常规浏览器也可能不发送 Referer 字段。在需要添加验证的server中添加如下配置,
server{
listen ;
server_name www.kevin.com;
location ~*\.(GIF|jpg|png|jpeg){
root /home;
valid_referers shop.kevin.com;
if ($invalid_referer) {
return ;
}
}
}
按照上面的配置,如果请求头中不包含referers参数则将无法通过验证。
valid_referers参数说明:
none:不包含referers参数也可以通过验证。
blocked:原本请求中包含了该参数,但是被防火墙或代理服务器过滤了,此时也可以通过验证。
server_name:Referer请求头字段包含一个服务器名称。
任意字符串:开头和结尾可以包含*。
正则表达式:第一个符号应为~。要注意的是,表达式只与http://或https://之后的文本匹配。
完整配置示例:
valid_referers none blocked server_names
*.example.com example.* www.example.org/galleries/
~\.google\.;
内嵌变量:
$invalid_referer:如果Referer请求头字段的值有效,则为空字符串,否则为1。
HTTP Headers Referrer-Policy
关于Referrer的详细介绍。
最新文章
- linux sed 添加 删除 一行
- [IIS]IIS扫盲(八)
- 排序算法 2 qsort 库函数,泛型函数
- JS事件分析
- ODI 12c中使用Groovy脚本创建工程
- (转)MapReduce中的两表join几种方案简介
- Java http post
- 《深入Java虚拟机学习笔记》- 第2章 平台无关
- android 18 Bundle类
- CSS jQuery 图片全屏切换
- GNU libmicrohttpd 0.9.29 发布 - 开源中国社区
- libPods.a 无法找到的解决方法
- Eclipse自动生成返回值对象的快捷键是什么?
- 如何在IIS上发布网站
- Problem 10: Summation of primes
- 接口与继承:方法覆盖(super)
- I/O多路复用、协程、线程、进程
- Day9:html和css
- Overloaded Fuction 调用——到底使用的是谁的函数
- 实现winfrom进度条及进度信息提示