如何用nginx实现防盗链?保护网站图片、视频。

什么是防盗链?

有时候,当我们在网站上浏览图片时会遇到图片打不开,并看到提示:“403权限禁止”。这可能是正在浏览的这个网站用到的图片在盗用别的网站图片,而被盗用的网站采用了防盗链技术。

如何用nginx实现防盗链?保护网站图片、视频。

这个功能是很有用的,特别是对于图片站或视频站。

今天本文就聊聊如何实现防盗链。

以nginx为例,如何实现防盗链?

如何用nginx实现防盗链?保护网站图片、视频。

nginx referer指令

nginx有个模块模块:ngx_http_referer_module。

通常用于阻挡来源非法的域名请求。用nginx防盗链,就要用到它。

脚本如下

server{
 listen 80;
 server_name www.sharewaf.com;
 index index.html index.htm index.php;
 root /data/www;
 # 定义访问日志的路径和格式 access_log /tmp/nginx_access.log main;
 # 不记录静态文件的的访问日志 location ~ .*.(gif|jpg|jpeg|png|bmp|swf|flv|rar|zip|gz|bz2)$ {
 access_log off;
 expires 10d;
 valid_referers none blocked *.bing.com *.baidu.com *.google.com;
 if ($invalid_referer) {
 rewrite ^/ http://www.sharewaf.com/;
 #return 403; }
 }
}

另外需要知道的是:伪装Referer头部是非常简单的事情,所以这个模块只能用于阻止部分简单的非法请求,如果要实现高强度的防盗链,还是得用专业的WAF(web应用防火墙),如:ShareWAF

如何用nginx实现防盗链?保护网站图片、视频。

另外要注意,有些合法的请求是不会带referer来源头部的,所以有时候不要拒绝来源头部(referer)为空的请求,否则会阻挡掉很多合法访问。

其它还可能能用于nginx防盗链的指令:

最后,配置文件设置完成别忘记重启nginx生效。

展开阅读全文

页面更新:2024-05-16

标签:求是   图片   网站   来路   后缀   时会   头部   静态   指令   模块   来源   简单   域名   文件   数码   日志   视频

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top