*******************************************************************
切记,替换的图片地址要使用没有防盗链的网站图片,否则由于替换的图片其实也处于防盗链情况下,会造成仍旧无法显示设置的图片。
*******************************************************************

一、全站图片防盗链

在/usr/local/nginx/conf/nginx.conf文件要添加防盗链的server段里添加下面的代码:

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
valid_referers none blocked *.ipple.net *.abc.com;
if ($invalid_referer)
{
rewrite ^/ http://www.otherdomin.com/403.jpg;
#return 403;
}
}

测试一下配置是否OK
# /usr/local/nginx/sbin/nginx -t
the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
configuration file /usr/local/nginx/conf/nginx.conf test is successful

然后执行如下命令重启lnmp即可:注:这里用的是lnmp的自动安装包里的shell,你如果是原生安装的请用原来的办法重启就可以了。

# /root/lnmp restart

说明:
1、请将代码中的*.ipple.net *.abc.com等换成你自己的域名。
2、请确保server段中只有一个location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$,否则可能导致代码无效。

如果有下面这段代码,请将其删除或者与上面的代码合并成一段:
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
再次重启lnmp,你会发现,防盗链设置已经生效了。

二:针对图片目录防止盗链

location /images/
{
alias /data/images/;
valid_referers none blocked server_names *.ipple.net ipple.net ;
if ($invalid_referer)
{
return 403;
}
}

三:使用第三方模块HttpAccessKeyModule实现Nginx防盗链

实现方法如下:
1. 下载NginxHttpAccessKeyModule模块文件:Nginx-accesskey-2.0.3.tar.gz;http://wiki.nginx.org/File:Nginx-accesskey-2.0.3.tar.gz
2. 解压此文件后,找到nginx-accesskey-2.0.3下的config文件。编辑此文件:替换其中的”$HTTP_ACCESSKEY_MODULE”为”ngx_http_accesskey_module”;
3. 用一下参数重新编译nginx:
./configure –add-module=path/to/nginx-accesskey
4. 修改nginx的conf文件,添加以下几行:
location /download {
accesskey on;
accesskey_hashmethod md5;
accesskey_arg “key”;
accesskey_signature “mypass$remote_addr”;
}

其中:
accesskey为模块开关;
accesskey_hashmethod为加密方式MD5或者SHA-1;
accesskey_arg为url中的关键字参数;
accesskey_signature为加密值,此处为mypass和访问IP构成的字符串。

访问测试脚本download.php:
$ipkey= md5(“mypass”.$_SERVER['REMOTE_ADDR']);
$output_add_key=”<a href=http://www.domain.com/download/G3200507120520LM.rar?key=”.$ipkey.”>download_add_key</a><br />”;
$output_org_url=”<a href=http://www.domain.com/download/G3200507120520LM.rar>download_org_path</a><br />”;
echo $output_add_key;
echo $output_org_url;
?>
访问第一个download_add_key链接可以正常下载,第二个链接download_org_path会返回403 Forbidden错误。

参考:NginxHttpAccessKeyModule http://wiki.nginx.org/NginxHttpAccessKeyModule#accesskey

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

  1. PHP 实现图片防盗链,Nginx实现图片防盗链功能

    很多时候在浏览网页的时候,尤其是图片来自QQ空间之类的,会遇到某些文件(图片等)无法访问的情况,这是因为图片的所有方做了防盗链机制 了解防盗链之前先了解下http referer这个属性,http r ...

  2. Nginx设置图片防盗链(白名单与黑名单)

    点击蓝字关注这个神奇的公众号- 某些时候可能您会发现,别人网站直接将您的网站图片拿过去使用,导致额外消耗服务器流量和带宽,如果本身服务器带宽和流量就比较小,被人盗链后势必会造成一定影响.这篇文章分享下 ...

  3. 防盗链Nginx设置图片防盗链

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

  4. 【Nginx】Nginx实现图片防盗链

    目录 Nginx有三种方法可以进行防盗链 1.对Nginx下所有项目的指定资源不同文件类型进行防盗链 2.对指定目录或者指定项目目录进行防盗链 3.nginx 的第三方模块ngx_http_acces ...

  5. php 防止倒链,PHP防止图片倒链

    标签:倒链 原帖地址:http://blog.csdn.net/xueling022/article/details/53053383 1.Apache服务器下防止图片盗链的办法 如果你的网站以图片为 ...

  6. 计算机桌面屏幕设置,如何在计算机桌面上设置图片以及如何设置屏幕保护程序...

    Excel排序功能,以前就是这种方式 我不知道您是否使用过Excel排序功能. 如果您还没有接触过它,请与Q一起学习. 您会发现Excel排序功能的强大功能和实用技能可以解决办公室中的许多问题. 没有 ...

  7. nginx配置图片防盗链

    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)${expires 30d;access_log off;valid_referers none blocked *. ...

  8. java 设置图片像素_java设置图片像素

    [java]代码库package cn.outofmemory.snippets.desktop; import java.awt.Graphics2D; import java.awt.Graphi ...

  9. WordPress 图片防盗链的方法

    现在写博,为了达到图文并茂.增加视觉效果,往往都会把一些图片放在文章里面,这样一来,就涉及到三个方面的问题,一个是存储空间,二是流量,三是 访问及加载速度.随着国内带宽的不断升级,访问及加载已不是什么 ...

  10. WordPress图片防盗链的几种方法

    一般来说,博客圈内的主机每个月流量限制差不多为15G到25G(我说的是一般).如果你的博客每个月流量输出特别多的话,那么说明你的博客人气很不错,或者是使用了大量内链图片或Mp3.不过也不排除你的图片或 ...

最新文章

  1. 使用.NET自带的类实现DataGrid报表的打印。
  2. 表达式 控件 html,获取HTML表单控件的UrlEncode字符串表达式
  3. C五:exit()函数作用的程序
  4. java简单小程序_Java简易登录注册小程序
  5. Python 按坐标进行文字剪裁
  6. const定义常量_go语言基本语法——常量constant
  7. Html5 小球键盘移动
  8. C#限制float有两位小数
  9. vue-计算属性不能直接修改
  10. html怎么打开成word,html怎么打开Word文档
  11. 微电子专业深度盘点:哪所大学芯片最强?强在哪?(第2弹)
  12. Cesium开发基础篇 | 03加载矢量数据
  13. 目标跟踪算法研究综述
  14. 【FPGA】RGMII接口
  15. 【RDMA】MPI over InfiniBand, Omni-Path, Ethernet/iWARP, and RoCE 测试结果
  16. Flex 桌面应用 adl 调试模式运行
  17. RHEL6 安装gstreamer 实现 rhythmbox 听mp3歌曲
  18. 安卓模拟ibeacon_Android BLE-iBeacon系列(一)iBeacon介绍
  19. 关于中台,你要想明白这几点(上)(转载)
  20. 键盘录入(身高和体重)

热门文章

  1. [读书]看看你有没有忽视
  2. Spring源码分析——读取Xml过程
  3. 字符串超长导致emWin卡死
  4. 计算机二级C语言冲刺笔记。
  5. @PathVariable获取带点参数,获取不全
  6. python 装饰器,登录小练习
  7. 【转】flash不建议设置wmode及wmode解释
  8. PHP中strtotime()的使用
  9. iOS NSString的常用用法
  10. FCKEditor v2.6.3 最新版-ASP.NET 演示程序