使用Apache的.htaccess就可以防盗链

Apache的.htaccess可以实现很多功能,如密码保护、禁止显示目录列表、阻止/允许特定的IP地址、实现网址的301 重定向等等。本文就来说说使用Apache的.htaccess如何防盗链。
 当然防盗链可以用程序解决,如PHP:

  1. $referer = $_SERVER[‘HTTP_REFERER‘];
  2. $selfurl = $_SERVER[‘HTTP_HOST‘];
  3. if(false == strpos($referer,$selfurl)){
  4. echo ‘phpddt.com防止非法盗链‘;
  5. exit(1);
  6. }

使用Apache的.htaccess防盗链:

  1. RewriteEngine On
  2. RewriteCond %{HTTP_REFERER} !^$ [NC]
  3. RewriteCond %{HTTP_REFERER} !phpddt.com [NC]
  4. RewriteCond %{HTTP_REFERER} !google.com [NC]
  5. RewriteCond %{HTTP_REFERER} !baidu.com.com [NC]
  6. RewriteCond %{HTTP_REFERER} !feedburner.com [NC]
  7. RewriteCond %{HTTP_REFERER} !feedsky.com [NC]
  8. RewriteRule .*\.(rar|zip)$ http://www.phpddt.com/ [R,NC,L]

.htaccess文件将影响其所在的目录及其子目录。你可以将其放在根目录或项目的子目录
上面这段代码也是很容易理解的:
RewriteCond %{HTTP_REFERER} !^$ [NC]
允许空的来源,即用户浏览器手动属于则允许访问文件。
RewriteCond %{HTTP_REFERER} !phpddt.com [NC]
允许站点自身访问,同理,后面还要允许百度,谷歌,和一些订阅源访问。
RewriteRule .*\.(rar|zip)$ http://www.phpddt.com/ [R,NC,L] 
这里可以设置防止盗链的类型,如果盗链可以跳转到网站首页,本站没有做图片防盗链,如果你做图片防盗链可以设置被盗链的替代图片:
RewriteRule .*\.(gif|jpg|png)$ http://phpddt.com/logo.png [R,NC,L]

时间: 2024-10-14 13:43:33

使用Apache的.htaccess就可以防盗链的相关文章

Apache网页优化之防盗链和隐藏版本号

Apache网页优化之防盗链 防盗链的作用 防盗链就是防止别人的网址代码里面盗用服务器的图片,文件,视频等相关资源如果别人盗用网站的这些静态资源,明显的是会增大服务器的带宽压力所以作为网站的维护人员,要杜绝我们服务器的静态资源被其他网站盗用 防盗链的配置规则 %{}HTTP_REFERER}: 浏览header中的链接字段,存放一个链接的URL,代表是从哪个链接访问所需的网页 !^: 不以后面的字符串开头 .*$: 以任意字符结尾 NC: 不区分大写 R:强制跳转 防盗链规则匹配说明 Rewri

apache web服务器与防盗链的设置

一.安装apache2.4.23 新版本的httpd-2.4新增以下特性: 新增模块: mod_proxy_fcgi(可提供fcgi代理) mod_ratelimit(限制用户带宽) mod_request(请求模块,对请求做过滤) mod_remoteip(匹配客户端的IP地址) 对于基于IP的访问控制做了修改,不再支持allow,deny,order机制,而是统一使用require进行 还新增以下几条新特性: 1.MPM支持在运行时装载;不过要开启这种特性,在编译安装要启用这三种功能: --

Apache网页优化 ---配置防盗链

防盗链概述 防盗链就是防止别人的网站代码里面盗用服务器的图片文件.视频等相关资源.如果别人盗用网站的这些静态资源,明显的是会增大服务器的带宽压力.所以作为网站的维护人员,要杜绝我们服务器的静态资源被其他网站盗用. 配置规则变量说明 %{HTTP_ REFERER}:浏览header中的链接字段,存放一一个链接的URL,代表是从哪个链接访问所需的网页!^:不以后面的字符串开头.*$: 以任意字符结尾NC:不区分大写R:强制跳转 规则匹配说明 RewriteEngine On:打开网页重写功能Rew

Apache网页优化之防盗链

Apache优化实现防盗链 ■防盗链就是防止别人的网站代码里面盗用服务器的图片.文件.视频等相关资源■如果别人盗用网站的这些静态资源,明显的是会增大服务器的带宽压力■所以作为网站的维护人员,要杜绝我们服务器的静态资源被其他网站盗用■检查Apache是否安装了mod_ rewrite模块●/usr/local/apache/bin/apachectl -t -D DUMP MODULES●如果输出中没有rewrite module (static),则说明编译时没有安装mod rewrite模块■

Apache安全优化之防盗链

通常防盗链是为了防止图片,视频等信息被盗用.下面我将利用一个小实验模拟盗链与防盗链,实验用到如下两张图片:提供网站服务的主机我做了DNS解析,是使用域名www.benet.com 进行访问的客户机IP地址:192.168.100.30/24,盗链机IP地址:192.168.100.11/241.首先需要手工编译安装Apache,详细步骤可参考我之前手工编译安装Apache的博客:http://blog.51cto.com/13641879/21093422.安装前准备环境需要比之前多安装这个软件

Apache配置之设置防盗链

防止第三方站点盗用自己站点的资源 1.配置虚拟主机文件    #vim /usr/local/apache/conf/extra/httpd-vhosts.conf SetEnvIfNoCase Referer "^http://.*\.zhijie\.com(白名单域名)" local_ref SetEnvIfNoCase Referer ".*\.maozhijie\.com(白名单域名)" local_ref SetEnvIfNoCase Referer &q

HTTP 笔记与总结(6)referer 头与防盗链

在百度贴吧(或 QQ 空间等)中找到一张图片,复制图片地址,在站外通过 img src 引用,会发现: 此外,在一些统计软件中,统计访客的来路(直接访问.外部链接.搜索引擎),都用到了 HTTP 协议请求头中 Referer 的知识. [例]直接访问 www.baidu.com 和 在通过本地页面跳转至 www.baidu.com,观察 HTTP 请求头信息的差异: ① 直接访问百度,HTTP 请求头信息: ② 通过本地 referer.html 跳转至 www.baidu.com: HTTP

05 referer头与防盗链

像上图中的这个效果,当我们在网页里引用站外图片时,常出现这样的情况. ??? 服务器是怎么样知道,这个图片是在站外被引用的呢? 还有在网站的统计结果,统计用户从何而来,如下图 ??? 统计时,是如何得知用户从哪儿来到的本网站呢? 在Http协议中,头信息里,有一个重要的选项: Referer Referer: 代表网页的来源,即上一页的地址 如果是直接在浏览器上输入地址,回来进来,则没有Referer头. 这也是: 为什么服务器知道我们的图片是从哪儿引用的,也知道我们的客户从哪个网站链接点击过来

php防盗链技术

在Http协议中,头信息里,有一个重要的选项: Referer Referer: 代表网页的来源,即上一页的地址 如果是直接在浏览器上输入地址,回来进来,则没有Referer头. 这也是: 为什么服务器知道我们的图片是从哪儿引用的,也知道我们的客户从哪个网站链接点击过来的. 问题: 如何配置apache服务器,用于图片防盗链? 原理: 在web服务器层面,根据http协议的referer头信息,来判断. 如果来自站外,则统一重写到一个很小的防盗链提醒图片上去. 具体步骤: 1:打开apache