小知识:使用referer指令配置Nginx服务器来防止图片盗链

由于nginx不支持.htaccess,所以,从这个方面直接去防止是行不通的,我们要通过修改配置文件来解决。

首先,我们找到需要防盗链的域名的conf文件,路径:/usr/local/nginx/conf/vhost/,比如guance.com.conf。先备份下原文件,然后找到下面的部分:
?
1
2
3
4
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}

将它修改为:

?
1
2
3
4
5
6
7
8
9
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
valid_referers none blocked www.tuohang.net tuohang.net;
if ($invalid_referer) {
rewrite ^/ //www.tuohang.net/404.jpg;
#return 404;
}
expires 30d;
}

上面的内容,大家请根据个人的情况酌情修改,我这里做基本的解释:

第一行gif|jpg|jpeg|png……这些是您需要防止盗链的文件类型,您可以补充一些后缀类型;

第三行是你的网站的域名,就是说放行的域名,如果有多个,请添加,注意空格;

第五行是给盗链看到的图片,返回一个404.jpg,这个图片源地址是要可以外链的哦,不然,别人看到的也就一个XX。

完成之后保存,上传到原位置覆盖,之后重启下lnmp使之生效。
?
1
/root/lnmp restart

referer指令简介

nginx模块ngx_http_referer_module通常用于阻挡来源非法的域名请求.我们应该牢记,伪装Referer头部是非常简单的事情,所以这个模块只能用于阻止大部分非法请求.我们应该记住,有些合法的请求是不会带referer来源头部的,所以有时候不要拒绝来源头部(referer)为空的请求.

语法: referer_hash_bucket_size size;

默认值: referer_hash_bucket_size 64;

配置段: server, location

这个指令在nginx 1.0.5中开始出现.

Sets the bucket size for the valid referers hash tables. The details of setting up hash tables are provided in a separate document.

语法:     referer_hash_max_size size;

默认值:     referer_hash_max_size 2048;

配置段:     server, location

这个指令在nginx 1.0.5中开始出现.

Sets the maximum size of the valid referers hash tables. The details of setting up hash tables are provided in a separate document.

语法: valid_referers none | blocked | server_names | string …;

默认值: —

配置段: server, location

指定合法的来源referer, 他决定了内置变量$invalid_referer的值,如果referer头部包含在这个合法网址里面,这个变量被设置为0,否则设置为1.记住,不区分大小写的.

参数说明

none

“Referer” 来源头部为空的情况

blocked

“Referer”来源头部不为空,但是里面的值被代理或者防火墙删除了,这些值都不以http://或者https://开头.

server_names

“Referer”来源头部包含当前的server_names(当前域名)

arbitrary string

任意字符串,定义服务器名或者可选的URI前缀.主机名可以使用*开头或者结尾,在检测来源头部这个过程中,来源域名中的主机端口将会被忽略掉

regular expression

正则表达式,~表示排除https://或http://开头的字符串.

最后 图片使用来源头部做防盗链是最合理的. 简单、实用。但是没有办法防采集。
声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:Godaddy VDS Simple Control Panel出错的解决方法

2023-5-3 3:17:55

建站知识

小知识:linux 字符界面 安装模式创建LVM

2023-5-3 3:26:09

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索