.htaccess配置文件实现网站文件图片防盗链

 更新时间:2016年1月28日 00:50  点击:1708

使用rewrite,开启apache的mode_rewrite模块,让服务器支持.htaccess文件目录权限设置,在网站根目录增加.htaccess文件,判断referer是否是本站地址,把非本地地址refer的文件都从定向到新的网页或提示网页上。使用.htaccess文件可以很方便的进行设置防盗链!

根据下面的设置基本可以做到简单的防止文件被盗链情况的发生,而且可以尽最大可能的减少服务器流量的消耗!

以下是.htaccess文件的内容:

 代码如下 复制代码


<IfModule mod_rewrite.c>

RewriteEngine On

RewriteCond %{HTTP_REFERER} !^$ [NC]

RewriteCond %{HTTP_REFERER} !111cn.net [NC]

RewriteRule .*.(gif|jpg|png|swf)$ http://jannn.com/daolian.png [R,NC,L]

</IfModule>

上面的代码就是把百度等seo/seo.html" target="_blank">搜索引擎都防止了,我们可以把它们加进来

 代码如下 复制代码

RewriteEngine on

  RewriteCond %{HTTP_REFERER} !^$ [NC]

  RewriteCond %{HTTP_REFERER} !sudu.cn [NC]

  RewriteCond %{HTTP_REFERER} !baidu.com [NC]

  RewriteCond %{HTTP_REFERER} !Google.cn [NC]

  RewriteCond %{HTTP_REFERER} !bloglines.com [NC]

  RewriteCond %{HTTP_REFERER} !feedburner.com [NC]

  RewriteCond %{HTTP_REFERER} !feedsky.com [NC]

  RewriteRule .*.(gif|jpg)$ http://www.111cn.net /no.png [R,NC,L]

.htaccess文件代码解析:

RewriteEngine On:开启Rewrite模块

RewriteCond %{HTTP_REFERER} !^$ [NC]:允许空的网址来源,用户可以直接输入文件网址访问,如果不想让用户直接输入网址访问,请删除这行代码!

RewriteCond %{HTTP_REFERER} !jannn.com [NC]:允许访问的网址,可以自己根据需求增加,格式相同,把网址替换成允许访问的网址即可!

 代码如下 复制代码

RewriteRule .*.(gif|jpg|png)$ http://www.111cn.net/ daolian.png [R,NC,L]:

括号中的是要防止盗链的文件拓展名,拓展名用符号“|”隔开,比如加上|mp3|swf|exe 等等,后面的网址是,出错时返回给盗链用户的地址,这个根据实际应用更改,比如你是防止图片防止盗链,可以给盗链者网页返回一张你设计好的版权图片!比如你防止盗链的是MP3文件,那么可以返回给盗链者网页一段自己的版权录音!也可以直接改为你网站地址,把流量都导入自己的网站!

说明一下其中的R、NC 和 L

  R 就是转向的意思

  NC 指的是不区分大小写

  L 的作用是指明本次转向到此结束,后续的转向不受先前判断语句的影响

  5、防止盗链的文件类型

  上例中是 gif、jpg、png,而根据需要,可更改或添加其他文件类型,如rar、mov等,不同文件扩展名间使用“|”分割。

[!--infotagslink--]

相关文章

  • 查找php配置文件php.ini所在路径的二种方法

    通常php.ini的位置在:复制代码 代码如下:/etc目录下或/usr/local/lib目录下。如果你还是找不到php.ini或者找到了php.ini修改后不生效(其实是没找对),请使用如下办法:1.新建php文件,写入如下代码复制代码 代码如下:<?phpe...2014-05-31
  • php cli配置文件问题分析

    引言今天在教别人使用protobuf的时候,无意中发现了一个php cli模式下的诡异问题,费了老半天的找到解决方法了,这里拿出来分享下。问题描述我们这边最先引入了protobuf协议,使用的是allegro/php-protobuf这个扩展安装的。...2015-10-21
  • C#中读写INI配置文件的方法

    这篇文章主要介绍了C#中读写INI配置文件的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • 使用C#实现读取系统配置文件的代码实例讲解

    这篇文章主要介绍了使用C#实现读取系统配置文件的代码实例,使用到了ConfigurationManager类,需要的朋友可以参考下...2020-06-25
  • 详解SpringBoot读取配置文件的N种方法

    这篇文章主要介绍了详解SpringBoot读取配置文件的N种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-10
  • vs 中C#项目读取JSON配置文件的方法

    这篇文章主要介绍了vs中 C#项目读取JSON配置文件的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • C#操作INI配置文件示例详解

    这篇文章主要为大家详细介绍了C#操作INI配置文件示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-06-25
  • apache 防盗链配置方法

    修改httpd.conf 找到 <Dirctory "/var/www/html"> 在这个Dirctory容器内添加: 代码如下 复制代码 SetEnvIfNoCase Referer "^http://www.111cn.net/"...2016-01-28
  • Tomcat将配置文件放在外部的解决方法

    这篇文章主要给大家介绍了关于Tomcat将配置文件放在外部的相关资料,对平时工作来说还是挺实用的,需要的朋友们下面随着小编一起来看看吧...2021-05-16
  • 聊聊ResourceBundle和properties读取配置文件的区别

    这篇文章主要介绍了ResourceBundle和properties读取配置文件的区别,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-07-22
  • Spring Boot 指定外部启动配置文件详解

    在springboot项目中,也可以使用yml类型的配置文件代替properties文件。接下来通过本文给大家分享Springboot配置文件的使用,感兴趣的朋友一起看看吧...2021-09-09
  • Apache在httpd.conf配置文件中设置伪静态(Rewrite)

    .htaccess文件应该被用在内容提供者需要针对特定目录改变服务器的配置而又没有root权限的情况下。如果服务器管理员不愿意频繁修改配置,则可 以允许用户通过.htaccess文件自...2016-01-28
  • C#编程实现动态改变配置文件信息的方法

    这篇文章主要介绍了C#编程实现动态改变配置文件信息的方法,涉及C#针对xml格式文件的相关操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • .NET Core 2.0迁移小技巧之web.config 配置文件示例详解

    这篇文章主要给大家介绍了关于.NET Core 2.0迁移技巧之web.config 配置文件的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面跟着小编来一起学习学习吧。...2021-09-22
  • Linux中Nginx的防盗链和优化的实现代码

    今天是周末小编在值班哈,很开森,工作使我快乐,本文重点给大家介绍Linux中Nginx的防盗链和优化问题及实现代码,需要的朋友跟随小编一起看看吧...2021-06-19
  • 真正可用的IIS的ISAPI-Rewrite伪静态URL图片防盗链规则写法

    本规则支持白名单排除式防盗链,搜索引擎友好不屏蔽,被盗链后的错误提示转向,支持各种文件类型,经作者亲验真的能用...2016-01-27
  • IIS7.5提示无法写入配置文件web.config的解决方法

    这篇文章主要介绍了IIS7.5提示无法写入配置文件web.config的解决方法,需要的朋友可以参考下...2016-01-27
  • Zend Framework教程之配置文件application.ini解析

    这篇文章主要介绍了Zend Framework教程之配置文件application.ini用法,分析了配置文件application.ini中常见的配置项含义及用法,需要的朋友可以参考下...2016-03-12
  • .Net Core库类项目跨项目读取配置文件的方法

    这篇文章主要介绍了.Net Core库类项目跨项目读取配置文件的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2021-09-22
  • .NET Core源码解析配置文件及依赖注入

    这篇文章我们设计了一些复杂的概念,因为要对ASP.NET Core的启动及运行原理、配置文件的加载过程进行分析,依赖注入,控制反转等概念的讲解等...2021-09-22