首页产品库评测行情新闻|手机数码笔记本台式机DIY硬件数字家庭数码相机办公外设|软件下载游戏开发|社区

更多

数码相机
MP4
LCD
机箱
音箱

软件资讯设计 工具 系统 开发 安全 办公 陶吧 IT教育 Vista频道 | 下载中心酷我音乐盒 腾讯QQ MSN安全版
天极网 > 软件频道 > 网页陶吧 >网站的防盗链系统是如何做的?

网站的防盗链系统是如何做的?

2006-05-10 10:25作者:龙犊整理出处:天极网责任编辑:龙犊

  防盗链原理:

  http标准协议中有专门的字段记录referer

  一来可以追溯上一个入站地址是什么

  二来对于资源文件,可以跟踪到包含显示他的网页地址是什么。

  因此所有防盗链方法都是基于这个Referer字段

  网上比较多的2种

  一种是使用apache文件FileMatch限制,在httpd.conf中增加 ( 其实也可以将把下面的语句存成一个.htaccess文件),并放到你的网站的根目录(就是www/html目录),这样子别人就没有办法盗连你的东东了~~

  SetEnvIfNoCase Referer "^http://yahoo.com/" local_ref=1

  Order Allow,Deny

  Allow from env=local_ref

  Allow from 127.0.0.1

  这种很方便禁止非允许访问URL引用各种资源文件

  请大家注意,把第一句"^http://yahoo.com/"改为你的网站,比如我的网站是: http://www.linji.cn

  我应该这么写的

  "^http://www.linji.cn/"

  第二种是使用rewrite,需要增加apache的mode_rewrite,支持.htaccess文件目录权限限制

  在虚拟主机根目录增加.htaccess文件,描述从定向,把非本地地址refer的图片文件都从定向到警告图片或者警告网页上。

  首先要确认你的服务器或空间的服务器解译引擎为Apache2,还有支持.htaccess客户设置文件,

  如果你有自己的服务器就请先对./conf/httpd.conf 文件做以下修改

  找到:#LoadModule rewrite_module modules/mod_rewrite.so

  把前面的 # 给去丢

  找到等一个 AllowOverride None 改为 AllowOverride All

  重启Apache2服务器

  接下就是做一个 .htaccess 文件了,其 .htaccess 文件内容为

  RewriteEngine on

  RewriteCond %{HTTP_REFERER} !^http://aaoo.net/.*$ [NC]

  RewriteCond %{HTTP_REFERER} !^http://aaoo.net$ [NC]

  RewriteCond %{HTTP_REFERER} !^http://www.aaoo.net/.*$ [NC]

  RewriteCond %{HTTP_REFERER} !^http://www.aaoo.net$ [NC]

  RewriteRule .*.(jpg|jpeg|gif|png|bmp|rar|zip|exe)$ http://down.yoyo.com.ru/err.html [R,NC]

  其中有色的地方都是要改为你的:

  红色:就是改为你提供下载页面的地址,也就是只有通过这个地址才可以下载你所提供的东东。

  蓝色:就是要保护文件的扩展名(以|分开),也就是说以这些为扩展名的文件只有通过红色的地址才可以访问。

  绿色:如果不是通过红色的地址访问蓝色这些为扩展名的文件时就回重定向到绿色地址上。

  这个方法有个好处是,不同的虚拟主机用不同的描述定义。

  接下就是怎么用 .htaccess 文件来实现防盗链了。

  首先要在空间上建两个目录(当然目录名随你),一个为 web 另一个为 down ,

  web 是用来放下载页面的(或下载程序),down 当然就是放你提供的东东的啦,

  把 .htaccess 文件的红色部分改一下,改为http://你的域名/web。蓝色部分

  改为你要保护文件的扩展名。绿色部分改为http://你的域名/web。改后保存

  .htaccess 文件把它上传到 down 目录。

  还有第三种:

  我在解决plog禁止盗链的时候,发现个问题,也算个好方法。

  plog把所有资源都自己管理起来,用resserver.php来动态显示,这样统一的入口方便添加权限操作。

  同时造成上面2种方法无法使用,因为不再是apache直接访问资源文件,而是php通过文件读取。

  因此只能在代码中做手脚:在读取资源文件输出之前,加如下判断代码

  引用

  $referer = $_SERVER['HTTP_REFERER'];

  $selfurl = $_SERVER['HTTP_HOST'];

  if(false == strpos($referer,$selfurl))

  {

  echo '非法盗链!';

  exit(1);

  }

  这里有些偷懒,直接看引用地址中是否包含host地址,不过原理就是这样,判断referer是否是本站地址。

  我们常常在下载的时候,也碰到盗链网站无法下载,报盗链的问题。要下载这类文件最简单的方法就是改referer

  比方flashget中,网址下面的"引用"一栏中,直接填写下载地址就可以了。

关注此文的读者还看过:

返回软件频道首页

软件频道最新更新

热点推荐

IT嘉年华

编辑推荐

热门
推荐

网友关注

软件
资料
游戏

装机推荐

文章排行

本周
本月
最新更新

软件资讯

操作系统 | 设计在线 | 工具软件
IT教育  | 开发频道 | 网络安全
办公软件 | 网页陶吧 | 资讯中心
产品中心 | 每周周刊 |
 有道词典 QQ直播   |  酷狗音乐 Winamp | QQ MSN
 暴风影音美图秀秀 | 搜狗拼音 | Winrar | 迅雷 | Skype
 金山毒霸 |  光影魔术  | FoxmailPPfilm | WMP | PPS  
 瑞星杀毒酷我音乐  | PPLiveFirefox傲游 | 快车
群乐:Office | QQ  | MSN | QQ空间代码 | 你问我答 | 工具 | 壁纸大全 | 系统软件 | 防毒杀毒PS菜鸟园地 | 黑客 | 照片后期处理 | 开发PC靓化 | Vista | WPS | Windows 7 | Windows XP | Linux | Excel | Word | Powerpoint | Photoshop | Outlook | Flash设计秀场
天极服务| 关于我们| About us| 网站律师| 电子杂志| RSS订阅| 友情合作| 加入我们| 网站地图| MSN/QQ上看天极
TMG
Copyright (C) 1999-2009 Yesky.com, All Rights Reserved
版权所有 天极网络
商务联系、网站内容、合作建议:010-82657868 023-63659988在线提交意见反馈
渝ICP证B2-20030003号  通用网址:天极网
天极传媒:天极网|比特网|IT专家网|52PK游戏网|IT分众
经营性网站备案信息 网警备案 中国网站排名