Nginx修改配置实现图片防盗链

一般情况下,防盗链是针对软件下载和图片的,由于一般的站点不提供资源下载,所以本文主要是针对图片的防盗链

1、如果对全站图片做防盗链,至少需要一个另外的域名存放指向图片。因为如果对全站图片做了防盗链,包括盗链提示图片在内的所有图片都不可能显示。

此类情况修改 /usr/local/nginx/conf/nginx.conf 文件

2、对单独域名配置图片防盗链,个人比较推荐,一是便于控制,二是可以重新创建一个域名在同服务器上用来存放盗链提示图片。

此类情况修改 /usr/local/nginx/conf/vhost/你自己域名.conf 文件

3、你需要准备一张盗链提示图片,放在其它的服务器或者其它域名下(图片您自己做吧,这里不提供了)

4、在配置文件里找到类似下面location...jpg...这样的代码,然后照着改吧,我慢慢解释

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
access_log off;
valid_referers none blocked *.slyar.com *.jetfond.com *.youdao.com *.zhuaxia.com *.xianguo.com *.google.cn *.google.com *.google.com.tw *.google.com.sg *.google.com.hk *.bloglines.com image.soso.com bing.com cn.bing.com image.baidu.com *.feedburner.com *.feedsky.com;
if ($invalid_referer)
{
rewrite ^/ http://kvm.slyar.com/slyar_hotlinking.png;
}
}

expires 30d; //客户端缓存时间,无关盗链

access_log off; //不记录图片访问日志,无关盗链

valid_referers none blocked... //允许访问图片的站点,blocked支持前缀通配符。none需要解释一下,如果你不知道HTTP Refer是什么,那就不知道好了,如果你知道,那这个none就表示匹配没有Refer的访问,通俗点说就是直接用URL访问的,这里我写着表示允许,如果你连直接输入图片地址都不允许看到图片的话,可以删掉这个参数

rewrite ^/ http://kvm.slyar.com/slyar_hotlinking.png; //盗链请求跳转到某个图片或者某个页面,随便

5、:wq保存退出

6、重新加载Nginx配置文件,done

/etc/init.d/nginx reload

时间: 2024-11-08 16:03:27

Nginx修改配置实现图片防盗链的相关文章

防盗链Nginx设置图片防盗链,设置无效的请仔细看红字

*******************************************************************切记,替换的图片地址要使用没有防盗链的网站图片,否则由于替换的图片其实也处于防盗链情况下,会造成仍旧无法显示设置的图片.******************************************************************* 一.全站图片防盗链 在/usr/local/nginx/conf/nginx.conf文件要添加防盗链的ser

Nginx实现图片防盗链(referer指令)

什么是图片盗链   每张图片在浏览器中都有对应的图片地址,在浏览器中输入这个地址是可以直接拿到图片. 图片盗链,就是盗用者在他的站上需要显示我们的图片,他没有把图片拿下来,放到他的服务器上, 而是直接就用我们的,图片地址,来请求到我们的服务器来拿图片,流量产生在我们这边. referer referer指令通过检测访问图片的来源,来做出一些控制. 图片访问的来源 通过谷歌/百度访问 通过浏览器直接访问 本站点的访问 来自非法的域名访问 referer nginx 模块 ngx_http_refe

nginx服务器图片防盗链的方法

nginx服务器图片防盗链的方法<pre> location ~* \.(gif|jpg|png|jpeg)$ { expires 30d; valid_referers *.shuchengxian.com www.shuchengxian.com; if ($invalid_referer) { rewrite ^/ http://www.shuchengxian.cn/404.jpg; } }</pre>代码解释: <pre>//其中“gif|jpg|jpeg|p

Nginx图片防盗链的方式

location ~* \.(gif|jpg|jpeg|png|ico)$ { valid_referers none blocked www.oschina.net oschina.net; if ($invalid_referer) {     rewrite ^/ /daolian.jpg; } access_log off; root /opt/web; expires 5d; break; 第一行:gif|jpg|jpeg|png|ico 表示对gif,jpg,jpeg,png,ico

asp.net MVC 网站图片防盗链的几种方法

目录 1. 通过 URL Rewrite Module 组件 2. 通过 nginx 图片防盗链 3.自定义 HttpHandler 处理 4. 通过 MVC 自定义路由规则防盗链 5. 通过 MVC 自定义 RouteHandler 防盗链 6. 通过 HttpModModule 防盗链 7. 涉及知识点,相关资源 自己网站上的图片被别的网站盗用是一件很令人厌恶的事情,下面是处理图片盗链的几种方法. 在这里先交代一下环境,我用的是 MVC4 ,IIS7 应用程序池为集成模式,以下配置都是基于此

.net使用httpHandler添加图片防盗链

.net使用httpHandler添加图片防盗链1. 配置web.config: <!--图片添加水印的配置--> <httpHandlers> <add verb="*" path="*.jpg" type="LinkHandler" /> </httpHandlers> <!--图片添加水印的配置结束--> 2. OutLinkHandler.cs: using System; us

几种图片防盗链的方法

研究了一下图片防盗链,没时间总结,贴上几遍文章大家看看吧. http://paranimage.com/10-kinds-of-anti-picture-method-of-navigating-to-wwwsinacomcn/ http://davidwalsh.name/mootools-image-protector-dwprotector http://davidwalsh.name/image-protector-plugin-for-jquery 使用filter进行防盗链 http

ASP.NET 实现简单的图片防盗链介绍

在此,网站图片防盗链的方法是,通过获取Http请求头中的 Referer 标头与本网站域名比较,来判断用户是否来自本站跳转过来的 . 创建一个全局处理程序,用来处理images目录下的图片的直接请求: using System; using System.Web; /// <summary> ///DaoLian 的摘要说明 /// </summary> public class DaoLian:IHttpHandler { public bool IsReusable { get

nginx配置图片防盗链

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)${ expires 30d; access_log off; valid_referers none blocked *.lee.com *.xing.com ; if ($invalid_referer){ rewrite ^/ http://invalid.com/images/invalid.png; #return 403; } } expires : 图片的客户端浏览器的缓存时间. access_log