基于http_refer防盗链配置模块

Syntax:valid_referers none | blocked | server_names | string ...;

Default:——

Context:server,location

HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器籍此可以获得一些信息用于处理。比如从我主页上链接到一个朋友那里,他的服务器就能够从HTTP Referer中统计出每天有多少用户点击我主页上的链接访问他的网站。

设置防盗链的作用是为了防止,视频、图片...防止被其他网站盗用

配置语句

 location ~ .*\.(jpg|gif|png)$ {
gzip on;
gzip_http_version 1.1;
gzip_comp_level 4;
gzip_types text/plain application/javascript applicattion/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png; valid_referers none blocked 192.168.96.135; # 允许跳转的ip
if ($invalid_referer) {
return 403;
}
root /opt/app/code/images;
}

one代表没有referer;blocded代表有referer但是被防火墙或者是代理给去除了。

首先当我输入我要打开的网址的时候,因为是直接输入的没有referer所以匹配了
valid_referers后面的none或者是blocked 所以invalid_referer值为0 所以不进行跳转.
当我是从这个网站里面的链接跳到该网站首页的时候 因为referer的值是肯定包含srever_names 所以匹配了server_names所以不进行跳转。
当我从搜素引擎进去的时候因为referer字段类似于www.google.com.hk/search
开始进行匹配 发现没有一个匹配,则此时会设置invalid_referer值为1 if语句成功执行,进行了跳转. 达到功能

测试

使用curl 命令

curl -e "http://192.168.96.188" -I http://192.168.96.188/test.png,报403错误

curl -e "http://192.168.96.135" -I http://192.168.96.188/test.png,可正常访问

最新文章

  1. Android万能使用WebServices(不用引入外部包)
  2. BMP图像数据格式详解
  3. Code First03---CodeFirst根据配置同步到数据库的三种方式
  4. Think Python - Chapter 15 - Classes and objects
  5. php中const与define的使用区别 详解
  6. java程序员菜鸟进阶(十五)linux基础入门(三)linux用户和组管理
  7. python判断一个数字是整数还是浮点数
  8. MongoDB ‘conn’Mongo 对象远程代码执行漏洞
  9. 设计模式14---设计模式之命令模式(Command)(行为型)
  10. English - little,a little,a few,few的区别
  11. $(window).height() 文档高度问题
  12. 解决mysql 1032 主从错误
  13. bzoj2120: 数颜色 [莫队][分块]
  14. C setjmp和longjmp
  15. Java泛型范例
  16. ORA-00923: FROM keyword not found where expected(单双引号)
  17. 21Oracle数据库和实例
  18. 最全的SpringCloud视频教程
  19. CVPR 2019 | 用异构卷积训练深度CNN:提升效率而不损准确度
  20. python常用模块之string

热门文章

  1. java 合并流(SequenceInputStream)
  2. Array数组的常用方法
  3. Linux 内核引用计数的操作
  4. Linux 内核 嵌入的 kobjects
  5. 配置nutch
  6. 牛客多校第3场 J 思维+树状数组+二分
  7. python multiprocessing.freeze_support
  8. VRChat之blender2.8版本设置
  9. 它来了,它来了,centos 8 的时代到来了
  10. navicat创建存储过程时报错1064