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]

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

  1. Apache配置 8.配置防盗链

    (1)介绍 防盗链,通俗讲,就是不让别人盗用你网站上的资源.这个资源,通常指的是图片.视频.歌曲.文档等. (2)配置 配置防盗链先编辑主机配置文件: #vim /usr/local/apache2. ...

  2. apache利用http_referer进行防盗链

    http://blog.sina.com.cn/s/blog_8729dd9801011rn1.html

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

    在百度贴吧(或 QQ 空间等)中找到一张图片,复制图片地址,在站外通过 img src 引用,会发现: 此外,在一些统计软件中,统计访客的来路(直接访问.外部链接.搜索引擎),都用到了 HTTP 协议 ...

  4. php 通过referer防盗链(以图片为例)

    1.在网页里访问站外图片时,服务器如何知道是在站外引用的呢? (1)对比本服务器请求与跨服务器请求 图一——本服务器请求 图二——显示盗链的referer信息 通过对比也就知道referer显示的是引 ...

  5. 05 referer头与防盗链

    像上图中的这个效果,当我们在网页里引用站外图片时,常出现这样的情况. ??? 服务器是怎么样知道,这个图片是在站外被引用的呢? 还有在网站的统计结果,统计用户从何而来,如下图 ??? 统计时,是如何得 ...

  6. php防盗链技术

    在Http协议中,头信息里,有一个重要的选项: Referer Referer: 代表网页的来源,即上一页的地址 如果是直接在浏览器上输入地址,回来进来,则没有Referer头. 这也是: 为什么服务 ...

  7. apache .htaccess 伪静态重定向,防盗链 限制下载...

    301全站跳转 RewriteEngine OnRewriteCond %{HTTP_HOST} ^www\.old\.net$ [NC]RewriteRule ^(.*)$ http://www.n ...

  8. Apache服务器如何通过.htaccess文件设置防盗链?

    Apache服务器通过.htaccess文件设置防盗链 用户经常面对的一个问题就是服务器的流量问题,而站点文件被盗链是其中最为主要的部分.所谓盗链,是指其他网站直接链接我们网站上的文件,一般来说,盗链 ...

  9. Apache 隐藏入口文件以及防盗链.htaccess 文件

    Apache 隐藏入口文件以及防盗链.htaccess 文件 RewriteEngine on # 隐藏入口文件 RewriteCond %{REQUEST_FILENAME} !-d Rewrite ...

随机推荐

  1. Java 中新增的 foreach 的用法

      JDK1.5加入的增强for和循环. foreach语句使用总结 增强for(part1:part2){part3}; part2中是一个数组对象,或者是带有泛性的集合. part1定义了一个局部 ...

  2. CentOS安装PHP和mysql

    新生在不会编译的情况下: 1.安装PHP5 yum install php 根据提示输入Y直到安装完成 2.安装PHP组件,使 PHP5 支持 MySQL yum install php-mysql  ...

  3. BestCoder Round #66 (div.2)

    构造 1002 GTW likes gt 题意:中文题面 分析:照着题解做的,我们可以倒着做,记一下最大值,如果遇到了修改操作,就把最大值减1,然后判断一下这个人会不会被消灭掉,然后再更新一下最大值. ...

  4. iOS 为类添加Xib里面配置的view

    创建Empty文件,最好与其Controller同名, 在File's Owner的类属性里面指明其所属类(或者说它是个什么Controller), 从File's Owner右键拖向内部创建的视图( ...

  5. Javascript-jQuery【1】-用promise()实现html()回调函数

    $('#divId').html(someText).promise().done(function(){ //your callback logic / code here });

  6. URAL1018 Binary Apple Tree(树形DP)

    题目大概说一棵n结点二叉苹果树,n-1个分支,每个分支各有苹果,1是根,要删掉若干个分支,保留q个分支,问最多能保留几个苹果. 挺简单的树形DP,因为是二叉树,都不需要树上背包什么的. dp[u][k ...

  7. POJ3469 Dual Core CPU(最小割)

    形象生动的最小割.. #include<cstdio> #include<cstring> #include<queue> #include<algorith ...

  8. 给Nginx配置一个自签名的SSL证书

    转自廖雪峰的官方网站http://www.liaoxuefeng.com/ 要保证Web浏览器到服务器的安全连接,HTTPS几乎是唯一选择.HTTPS其实就是HTTP over SSL,也就是让HTT ...

  9. windows自动修改ip的bat文件

    @echo off title --IP自动设置 -- MODE con: COLS=80 lines=30 color 0a :main cls echo 按提示操作 echo. echo 设置为无 ...

  10. 数论初步(费马小定理) - Happy 2004

    Description Consider a positive integer X,and let S be the sum of all positive integer divisors of 2 ...