`

(转)Apache服务器使用.htaccess实现图片防盗链方法教程

    博客分类:
  • PHP
阅读更多
http://www.phpweblog.net/phpers/archive/2008/01/02/2632.html
介绍使用Apache的mod_rewrite配置反图片(或者下载)盗链。

最近在搞文件盗链的问题,刚刚发现一篇好文,转来供大家参考,

独立建博的用户经常面对的一个问题就是服务器的流量问题,而站点文件被盗链是其中最为主要的部分。所谓盗链,是指其他网站直接链接我们网站上的文件,一般来说,盗链的对象大多为很耗带宽的大体积文件,如图片、视频等。这样造成的后果主要有:增加了服务器的流量负担,影响我们网站的访问速度。

如果你用的是Apache服务器,那么使用.htaccess文件就可以很方便的进行设置,从而防止其他站点的用户盗链我们站点的文件。

Apache中的.htaccess文件

.htaccess文件是Apache中相当重要的配置文件,其格式为纯文本,它提供了针对目录改变配置的方法,通过在一个特定的文档目录中放置一个包含一个或多个指令的文件,以作用于此目录及其所有子目录。

通过.htaccess文件,可以实现简单地很多在IIS中很繁琐甚至无法实现的功能,如密码保护、禁止显示目录列表、阻止/允许特定的IP地址、实现网址的301 重定向等等。

正如上面所说,.htaccess文件将影响其所在的目录及其子目录,因此,如果我们要保护的内容(此处以防止图片盗链为例,即图片)位于网站内多个目录下,可以考虑将其放在根目录下;而如果图片有单独的子目录如“/images/”,则只需将其放置在该目录下(当然也可以放到根目录中)。

需要注意的是,如果通过FTP方式将创建好的.htaccess上传到服务器上,传输模式应为ASCII而非Binary。上传到服务器后,应将其属性通过 CHMOD修改为644 或“RW-R–R–”,这样,可以保证服务器能够使用同时无法通过浏览器修改,当然,.htaccess的可读属性也存在一定的风险:攻击者可通过它找出您要保护的对象或认证文件位置——解决办法是将认证文件.htpasswd放到网站根目录之外,这样,便无法通过网络找到它了。

使用.htaccess禁止盗链

通过.htaccess来防止网站的图片、压缩文件、或视频等非Html文件被盗链的方法相当简单,通过在该文件中加入几句命令即可保护我们宝贵的带宽。例如本站的设置如下:

    RewriteEngine on

 

    RewriteCond %{HTTP_REFERER} !^$ [NC]

 

    RewriteCond %{HTTP_REFERER} !webeta.cn [NC]

 

    RewriteCond %{HTTP_REFERER} !ikuaizi.com [NC]

 

    RewriteCond %{HTTP_REFERER} !zhuaxia.com [NC]

 

    RewriteCond %{HTTP_REFERER} !xianguo.com [NC]

 

    RewriteCond %{HTTP_REFERER} !google.com [NC]

 

    RewriteCond %{HTTP_REFERER} !bloglines.com [NC]

 

    RewriteCond %{HTTP_REFERER} !feedburner.com [NC]

 

    RewriteCond %{HTTP_REFERER} !feedsky.com [NC]

 

    RewriteRule .*\.(gif|jpg)$ http://webeta.cn/no.png [R,NC,L]

 

简单的解释一下上述语句:

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://webeta.cn/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等,不同文件扩展名间使用“|”分割。

这样的话,就可以基本做到简单的防止被盗链情况的发生,而且可以尽最大可能的减少服务器流量的无畏消耗,当然了,如果你不在意这点流量的话,那么可以不用考虑上述设置啦!
分享到:
评论

相关推荐

    Apache Web服务器.htaccess文件配置.docx

    总的来说,`.htaccess`文件为Apache Web服务器提供了强大的控制能力,允许管理员根据需要调整网站的各种设置,包括访问控制、防盗链策略和错误处理等。合理利用`.htaccess`,可以有效地保护你的网站资源,提高用户...

    解析 .htaccess 文件 apache rewrite

    `.htaccess` 文件是Apache web服务器中的一个配置文件,它允许用户在网站根目录下进行局部配置,以实现一些高级功能,如URL重写、防盗链控制等。这个文件的全称是“分布式配置文件”,即分散在各个目录下的配置文件...

    Apache服务器中.htaccess文件的实用配置示例集锦

    Apache服务器中的`.htaccess`文件是一个非常重要的工具,它允许网站管理员无需直接修改服务器的主配置文件即可控制和定制特定目录的行为。`.htaccess`文件主要用于实现一系列HTTP服务器的指令,如URL重写、访问控制...

    [其他类别]Apache 防盗连工具_apache_link.zip

    Apache服务器提供了多种方式来实现防盗链功能,主要包括使用`.htaccess`文件进行配置。`.htaccess`文件是一个分布式配置文件,可以用来控制Apache服务器的行为。我们可以通过修改`.htaccess`文件,添加相应的防盗链...

    apache .htaccess文件详解和配置技巧总结

    主要体现在伪静态的应用、图片防盗链、自定义404错误页面、阻止/允许特定IP/IP段、目录浏览与主页、禁止访问指定文件类型、文件密码保护等。 .htaccess的用途范围主要针对当前目录。 二、启用.htaccess的配置启用....

    使用Apache的htaccess防止图片被盗链的解决方法

    通过上述两种方法的介绍,我们了解到可以通过简单的`.htaccess`配置,有效地实现图片的防盗链措施。值得注意的是,这里介绍的文件类型主要是`gif`、`jpg`和`png`,但可以根据实际需要更改或添加其他类型的文件,如`...

    Apache下htaccess的配置使用详解(转)

    为了防止其他网站直接链接到你的图片资源,你可以设置防盗链规则,只允许来自特定域的请求访问: ```apacheconf <FilesMatch "\.(jpg|jpeg|png|gif)$"> RewriteEngine On RewriteCond %{HTTP_REFERER} !^https?://...

    apach防盗链配置

    Apache服务器提供了一种名为`mod_rewrite`的模块,可以用来实现防盗链功能。首先,你需要确保这个模块已经被正确安装并启用。在Apache的配置文件(通常是`httpd.conf`或`apache2.conf`)中,查找并取消`LoadModule ...

    apache和htaccess知识总结

    而`.htaccess`(分布式配置文件)是Apache服务器中的一个核心特性,允许用户在网站的根目录下或子目录中自定义配置,实现对Web服务器行为的精细控制,无需修改全局的服务器配置文件。 本文将围绕Apache和`.htaccess...

    .htaccess重定向和url重写的几个例子.docx

    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配置

    本文将详细介绍如何通过Apache服务器配置来实现网站图片防盗功能。 #### 图片防盗的重要性 对于一个网站而言,精美的图片是吸引用户的重要元素之一。然而,这些精心挑选或设计的图片很容易被其他网站盗用,不仅会...

    .htaccess文件使用教程总结

    `.htaccess` 文件是Apache服务器配置中的一个非常重要的文件,它允许站点管理员在不修改全局服务器配置的情况下,对特定目录进行自定义设置。这篇教程总结了`.htaccess`文件的多种用途,包括权限控制、重定向、URL...

    防盗链模块,(HttpHandler+Apache技术)

    在这个场景中,我们重点关注的是使用HttpHandler和Apache服务器来构建防盗链模块的方法。 HttpHandler是ASP.NET框架中的一个关键组件,它允许开发者自定义HTTP请求的处理流程。通过创建并注册HttpHandler,我们可以...

    LiteSpeed服务器用htaccess的防盗链代码

    总结来说,要实现在LiteSpeed服务器上使用`.htaccess`进行防盗链,可以参照上述代码进行配置。但请注意,由于LiteSpeed的特性,这种方法可能在某些版本或配置下不适用,因此建议查阅官方文档或联系服务器提供商获取...

    如何设置WordPress图片防盗链方法 推荐

    在WordPress中设置图片防盗链是一种常见的保护网站资源的方法,尤其是对于那些拥有大量图片内容的博客或网站。本文将详细介绍两种防止图片被盗链的方法,一种是通过修改`.htaccess`文件,另一种是使用WordPress插件...

    apache虚拟目录和虚拟主机设置详解

    在Apache服务器配置中,虚拟目录(也称为别名)是一种重要的技术,它允许我们定义一个URL路径,并将其映射到服务器上的实际物理目录。这不仅提高了网站的灵活性,还增强了安全性,因为真实目录结构对用户不可见。 ...

    PHP防盗链的基本思想 防盗链的设置方法

    例如,可以通过设置apache服务器的.htaccess文件来实现。在此配置中,可以设置一个允许访问资源的白名单(okaysites),以及一个错误页面地址(defaulturl)。服务器会检查HTTP Referer头来判断请求是否来自白名单中...

    apache服务器全能设置

    Apache服务器是全球最广泛使用的Web服务器之一,以其开源、稳定和强大的可扩展性著称。在本文中,我们将深入探讨如何进行"Apache服务器全能设置",以满足各种复杂的网络服务需求。 一、Apache服务器安装与启动 在...

    htaccess 防盗链,防止目录浏览等10大技巧

    Apache服务器上的`.htaccess`文件是一个非常强大的工具,它允许管理员通过简单的配置指令来控制网站的行为,无需直接修改服务器的主配置文件。以下是从标题、描述和部分内容中提炼出的关于`.htaccess`的10个实用技巧...

Global site tag (gtag.js) - Google Analytics