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. hdu2191 多重背包

    题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=2191 多重背包:有N种物品和一个容量为V的背包.第i种物品最多有n[i]件可用,每件费用是 ...

  2. 2016.9.1 JavaScript入门之五

    1.数据类型:对象:也可以被认为是一个键/值存储,像一个字典.可以取代switch{case:case:}或者if else 例如: function phoneticLookup(val) { va ...

  3. CSS3-margin,padding,border

    margin  padding  border: 1.当属性值为0的时候,不需要在后面添加单位 2.当同时出现top margin以及bottom magin的时候,浏览器应用较大的哪一个 3.不能在 ...

  4. hadoop 分布式缓存

    Hadoop 分布式缓存实现目的是在所有的MapReduce调用一个统一的配置文件,首先将缓存文件放置在HDFS中,然后程序在执行的过程中会可以通过设定将文件下载到本地具体设定如下: public s ...

  5. C# 词法分析器(四)构造 NFA

    系列导航 (一)词法分析介绍 (二)输入缓冲和代码定位 (三)正则表达式 (四)构造 NFA (五)转换 DFA (六)构造词法分析器 (七)总结 有了上一节中得到的正则表达式,那么就可以用来构造 N ...

  6. CodeForceS#276-A

    A. Factory   One industrial factory is reforming working plan. The director suggested to set a mythi ...

  7. jquerymobile页面跳转和参数传递

    http://blog.csdn.net/chen052210123/article/details/7481578 页面跳转: 页面跳转时pagebeforechange事件会被触发两次,通过$(d ...

  8. HDU 2855 (矩阵快速幂)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2855 题目大意:求$S(n)=\sum_{k=0}^{n}C_{n}^{k}Fibonacci(k)$ ...

  9. JavaScript实现存储HTML字符串

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head ...

  10. Codeforces Round #235 (Div. 2)C、Team

    #include <iostream> #include <algorithm> using namespace std; int main(){ int n,m; cin & ...