- 浏览: 13732005 次
- 性别:
- 来自: 洛杉矶
文章分类
- 全部博客 (1994)
- Php / Pear / Mysql / Node.js (378)
- Javascript /Jquery / Bootstrap / Web (435)
- Phone / IOS / Objective-C / Swift (137)
- Ubuntu / Mac / Github / Aptana / Nginx / Shell / Linux (335)
- Perl / Koha / Ruby / Markdown (8)
- Java / Jsp (12)
- Python 2 / Wxpython (25)
- Codeigniter / CakePHP (32)
- Div / Css / XML / HTML5 (179)
- WP / Joomla! / Magento / Shopify / Drupal / Moodle / Zimbra (275)
- Apache / VPN / Software (31)
- AS3.0/2.0 / Flex / Flash (45)
- Smarty (6)
- SEO (24)
- Google / Facebook / Pinterest / SNS (80)
- Tools (22)
最新评论
-
1455975567:
xuezhongyu01 写道wocan23 写道我想问下那个 ...
Mysql: LBS实现查找附近的人 (两经纬度之间的距离) -
xuezhongyu01:
wocan23 写道我想问下那个111.1是怎么得来的我也看不 ...
Mysql: LBS实现查找附近的人 (两经纬度之间的距离) -
18335864773:
试试 pageoffice 在线打开 PDF 文件吧. pag ...
jquery在线预览PDF文件,打开PDF文件 -
青春依旧:
opacity: 0.5; 个人喜欢这种方式!关于其他css特 ...
css透明度的设置 (兼容所有浏览器) -
July01:
推荐用StratoIO打印控件,浏览器和系统的兼容性都很好,而 ...
搞定网页打印自动分页问题
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,L]
其中有色的地方都是要改为你的:
红色
:就是改为你提供下载页面的地址,也就是只有通过这个地址才可以下载你所提供的东东。
蓝色
:就是要保护文件的扩展名(以|分开),也就是说以这些为扩展名的文件只有通过红色的地址才可以访问。
绿色
:如果不是通过红色的地址访问蓝色这些为扩展名的文件时就回重定向到绿色地址上。
这个方法有个好处是,不同的虚拟主机用不同的描述定义。
接下就是怎么用 .htaccess 文件来实现防盗链了。首先要在空间上建两个目录(当然目录名随你),一个为 web 另一个为 down ,web 是用来放下载页面的(或下载程序),down 当然就是放你提供的东东的啦,把 .htaccess 文件的红色部分改一下,改为http://你的域名/web。蓝色部分改为你要保护文件的扩展名。绿色部分改为http://你的域名/web。改后保存.htaccess 文件把它上传到 down 目录。
实例:
<IfModule mod_rewrite.c> # 开启Rewrite模块 RewriteEngine On # 定义要保护的文件夹,建议只要保护上传文件夹(/wp-content/uploads/)就可以,主题文件夹之类的就算了 RewriteBase /wp-content/uploads/ #允许空的来源,因为用户可能手动输入图片网址 RewriteCond %{HTTP_REFERER} !^$ [NC] #允许自己的网站访问啦 RewriteCond %{HTTP_REFERER} !photozero.net [NC] #允许几个常用的在线阅读器的访问 RewriteCond %{HTTP_REFERER} !zhuaxia.com [NC] RewriteCond %{HTTP_REFERER} !xianguo.com [NC] RewriteCond %{HTTP_REFERER} !google.com [NC] RewriteCond %{HTTP_REFERER} !feedburner.com [NC] RewriteCond %{HTTP_REFERER} !feedsky.com [NC] #括号中的是要保护的文件拓展名,这里只保护了 gif,jpg,png,再加上出错时的图片地址 unavailable.png RewriteRule .*\.(gif|jpg|png)$ http://example.com/unavailable.png [R,NC,L] </IfModule>
简单的解释一下上述语句:
1、RewriteCond %{HTTP_REFERER} !^$ [NC]
允许空“HTTP_REFERER”的访问,即允许用户在浏览器地址栏中直接输入图片地址时图片文件的显示。一般而言,这是可选的,不过,建议这么设置,如果强迫必须具有“HTTP_REFERER”才能访问,可能会带来某些问题,比如说在用户通过代理服务器访问时。
2、RewriteCond %{HTTP_REFERER} !webeta.cn [NC]
设置允许访问的HTTP来源,包括我们的站点自身、Google、Baidu、Bloglines、Feedburner等。
3、RewriteRule .*\.(gif|jpg|png)$ http://www.aaa.com/no.png [R,NC,L]
定义被盗链时替代的图片,让所有盗链 jpg、gif、png 等文件的网页,显示根目录下的 no.png 文件。注意:替换显示的图片不要放在设置防盗链的目录中,并且该图片文件体积越小越好。当然你也可以不设置替换图片,而是使用下面的语句即可:
RewriteRule .*\.(gif|jpg|png)$ - [F]
4、说明一下其中的R、NC 和 L
R
就是转向的意思
NC
指的是不区分大小写
L
的作用是指明本次转向到此结束,后续的转向不受先前判断语句的影响
5、防止盗链的文件类型
上例中是 gif、jpg、png,而根据需要,可更改或添加其他文件类型,如rar、mov等,不同文件扩展名间使用“|”分割。
这样的话,就可以基本做到简单的防止被盗链情况的发生,而且可以尽最大可能的减少服务器流量的无畏消耗,当然了,如果你不在意这点流量的话,那么可以不用考虑上述设置啦!
haccess在线编辑工具
中文化界面(支持十种语言,包括正体中文),功能比较完善:
支持:
- 是否显示文章列表(是否显示网站索引目录)
- 是否启用密码保护(可对单个目录启用密码保护)
- 各种错误页面设置(400 Bad Request401 Auth Req’d402 Payment Req’d403 Forbidden404 Not Found405 Method Not Allowed406 Not Acceptable407 Proxy Auth Repid408 Request Time Out409 Conficting Request410 Gone411 Content Len Req’d412 Precondition Failed413 Entity Too Long414 URI Too Long500 Int, Server Error501 Not Implemented502 Bad Gateway503 Service Unavailable504 Gateway Timeout505 HTTP Ver Not Sup…)
- 预设置页面(设置任意页面为主页)
- www转向设置(将www.重定向)
- 301 302转址(用来重定向)
- 存取限制(用来防盗链)
现在 就去看看:http://www.htaccesseditor.com/sc.shtml
还有第三种:
我在解决blog禁止盗链的时候,发现个问题,也算个好方法。blog把所有资源都自己管理起来,用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中,网址下面的"引用"一栏中,直接填写下载地址就可以了。
.htaccess是一个完整的文件名,不是***.htaccess或其它格式(当然也有管理员把其设置 成其它名字,但一般都是使用.htaccess)。另外,上传.htaccess文件时,必须使用ASCⅡ模式,并使用chmod命令改变权限 为:644(RW_R__R__) 。每一个放置.htaccess的目录和其子目录都会被.htaccess影响。例如,在/abc/目录下放置了一 个.htaccess文件,那么/abc/和/abc/def/内所有的文件都会被它影响,但/index.html不会被它影响,这一点是很重要的。
实例功能 :文档访问的密码保护
要利用.htaccess对某个目录下的文档设定访问用户和对应的密码,首先要做的是生成一个.htpasswd的文本文档,例如:
zheng:y4E7Ep8e7EYV
这里密码经过加密,用户可以自己找些工具将密码加密成.htaccess支持的编码。该文档最好不要放在www目录下,建议放在www根目录文档之外,这样更为安全些。
有了授权用户文档,可以在.htaccess中加入如下指令了:
AuthUserFile .htpasswd的服务器目录 AuthGroupFile /dev/null (需要授权访问的目录) AuthName EnterPassword AuthType Basic (授权类型) require user wsabstract (允许访问的用户,如果希望表中所有用户都允许,可以使用 require valid-user)
注,括号部分为学习
时候自己添加的注释
发表评论
-
win8、win10如何修改文件夹的权限
2016-07-22 02:37 22585在windows10或win8中要获得文件夹的权限也不是一件 ... -
VMware Workstation 10 注册码 及 VMware Workstation 10 卸载
2014-05-24 00:36 20751. VMware workstation 10破解序列号 ... -
在 Sublime Text 中使用 SFTP 插件快速编辑远程服务器文件 Sublime-text with SFTP plugin
2014-03-12 12:17 27340Sublime Text 2 本身并不强大,但是它方便使用 ... -
一些必不可少的Sublime Text 2插件
2013-10-14 08:01 1805中文原文:一些必不可少的sublime text 2插件 ... -
Sublime Text 2插件安装及快捷键介绍
2013-10-14 07:55 13185Sublime Text 2是一款不错 ... -
把Apache里面的网站和MySQL数据库移动到home盘
2013-09-07 05:01 2058最近茶叶在纠结如何管理Linux,碾过配置LAMP这一章, ... -
VM 安装win7 Windows 7 fails to install; Status: 0xc0000225
2013-04-13 01:36 3058I just installed VirtualBox 4 ... -
aptana安装svn的方法
2012-10-20 01:13 5995最近经常有朋友QQ上问我aptana怎么装svn,好 ... -
在 Windows 7 中禁用IPv6协议/IPv6隧道
2012-10-18 01:19 2139How to disable certain Intern ... -
CDN网站加速服务
2012-02-08 03:05 2014什么是CDN? CDN的全称是Content Deliv ... -
DOS命令之ping命令大全详解
2011-08-05 06:15 7786首先从什么是Ping讲起 ... -
常用doc命令大全
2011-02-04 05:42 2556dos和windows最大的不同在 ... -
windows运行命令大全
2011-02-04 05:38 2012windows运行命令大全 ... -
putty常用命令
2011-01-31 22:49 72201、cd (文件夹名)--查 ... -
使用.htaccess文件为站点文件夹设置密码保护
2011-01-29 04:58 3702apache服务器已经提供了丰富的认证支持,我们只需要制作两 ... -
Linux下crontab命令的用法
2011-01-29 00:32 13261cron来源于希腊单词chronos(意为“时间”),是l ... -
php mvc 通过 htaccess 隐藏 index.php 或 index.php?arg=
2011-01-08 04:56 5526自己写了一个mvc 但是有的hosting无法通过 ht ... -
FTP状态码
2010-12-06 21:26 10500各类 HTTP 返回状态代码 ... -
各类 HTTP 返回状态代码详解
2010-12-03 22:13 50292FTP状态码 一、HTTP ... -
What is the difference between a domain and web hosting? (域名和虚拟主机)
2010-12-02 00:33 1554It’s common for newbies to co ...
相关推荐
`.htaccess` 文件是Apache web服务器中的一个配置文件,它允许用户在网站根目录下进行局部配置,以实现一些高级功能,如URL重写、防盗链控制等。这个文件的全称是“分布式配置文件”,即分散在各个目录下的配置文件...
总的来说,`.htaccess`文件为Apache Web服务器提供了强大的控制能力,允许管理员根据需要调整网站的各种设置,包括访问控制、防盗链策略和错误处理等。合理利用`.htaccess`,可以有效地保护你的网站资源,提高用户...
主要体现在伪静态的应用、图片防盗链、自定义404错误页面、阻止/允许特定IP/IP段、目录浏览与主页、禁止访问指定文件类型、文件密码保护等。 .htaccess的用途范围主要针对当前目录。 二、启用.htaccess的配置启用....
`.htaccess`文件主要用于实现一系列HTTP服务器的指令,如URL重写、访问控制、错误处理、防盗链设置等。在本文中,我们将深入探讨一些实用的`.htaccess`配置示例。 1. **强制添加URL末尾的反斜杠** 这个配置可以...
7. **图片防盗链**: ``` RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://.111cn.net/.*$ [NC] ... RewriteRule .*.(jpg|jpeg|gif|png|bmp|js|css|swf)$ http://.google.com [R,NC] `...
Apache服务器上的`.htaccess`文件是一个非常强大的工具,它允许管理员通过简单的配置指令来控制网站的行为,无需直接修改服务器的主配置文件。以下是从标题、描述和部分内容中提炼出的关于`.htaccess`的10个实用技巧...
这篇教程总结了`.htaccess`文件的多种用途,包括权限控制、重定向、URL重写、访问控制、错误处理、缓存管理以及防盗链等。 1. **启用`.htaccess`**:在Apache的主配置文件`httpd.conf`中,你需要取消`AllowOverride...
在Apache的配置文件中,找到或者创建一个`.htaccess`文件,然后在这个文件中添加以下防盗链规则: ```apacheconf RewriteEngine On RewriteCond %{HTTP_REFERER} !^$ # 排除空引用 RewriteCond %{HTTP_REFERER} !^...
通过上述两种方法的介绍,我们了解到可以通过简单的`.htaccess`配置,有效地实现图片的防盗链措施。值得注意的是,这里介绍的文件类型主要是`gif`、`jpg`和`png`,但可以根据实际需要更改或添加其他类型的文件,如`...
Apache的`.htaccess`文件用于提供对网站目录的控制,包括重写URL、设置访问权限、防盗链等。然而,LiteSpeed 使用自己的配置方式,但允许在某些情况下支持`.htaccess`,以便与Apache的配置保持兼容。 针对描述中的...
为了防止其他网站直接链接到你的图片资源,你可以设置防盗链规则,只允许来自特定域的请求访问: ```apacheconf <FilesMatch "\.(jpg|jpeg|png|gif)$"> RewriteEngine On RewriteCond %{HTTP_REFERER} !^https?://...
总结来说,一个理想的.htaccess文件应具备良好的权限控制、URL重写规则、错误页面定制、资源压缩和防盗链策略,同时考虑性能优化和安全性。通过不断调整和优化,我们可以打造出满足特定需求的.htaccess文件,实现对...
在WordPress中设置图片防盗链是一种常见的保护网站资源的方法,尤其是对于那些拥有大量图片内容的博客或网站。本文将详细介绍两种防止图片被盗链的方法,一种是通过修改`.htaccess`文件,另一种是使用WordPress插件...
- **防盗链**:通过限制Referer头防止图片或文件被其他网站盗链。 - **GZIP压缩**:启用`mod_deflate`模块并配置`.htaccess`,可以对网页内容进行GZIP压缩,减少传输大小,提升加载速度。 - **expires头**:设置...
另一种方法是在服务器配置文件中设置防盗链规则。例如,可以通过设置apache服务器的.htaccess文件来实现。在此配置中,可以设置一个允许访问资源的白名单(okaysites),以及一个错误页面地址(defaulturl)。服务器...
您可能感兴趣的文章:htaccess 防盗链,防止目录浏览等10大技巧.htaccess文件写法之作用范围php静态化页面 htaccess写法详解(htaccess怎么写?)htaccess语法教程Apache中.htaccess文件功能.htaccess文件保护实例讲解...
Apache可以通过配置其配置文件(通常是httpd.conf或.htaccess)来实现防盗链功能。例如,我们可以使用mod_rewrite模块来重写URL,或者利用、等指令设置访问控制。 Apache的防盗链配置通常涉及以下几种方式: 1. ...