用 .htaccess 防止图片盗链

因为主机容量有限,所以我把博客上所有的图片都挂在 skydrive 上,用外链图片的最大好处就是:1、省空间;2、省流量。当然也有很多站长不会吝惜这么些空间和流量,但是对我来说,就算偶尔用内链的图片,也不能这么阔气,还是得省着点用。所以我就用上了 .htaccess 防止图片盗链的方法。

方法很简单,在 .htaccess 文件中添加以下代码就行:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?yourdomain.com/.*$ [NC]
RewriteRule .(gif|jpg)$ - [F]

其中前两行是申明,意思分别是开启 Apache 的重写引擎和禁止所有网站链接,第三行就是允许链接的网站,改成自己的域名就行,第四行就是指防止盗链的文件类型,这里我只作了防止 gif 和 jpg 图片文件的盗链。同理,也可以添加 mp3|avi 等多媒体文件类型,用“|”符号隔开就行。

扩展一下,我们可以把第四行代码换成:

RewriteRule .(gif|jpg)$ http://www.life-studio.cn/images/logo.gif [R,L]

这句应该也不难理解,就是将图片被盗链时换成警告信息的图片,我没有特地做警告图片,而只是用 LOGO 代替了。这个防止图片盗链的方法我也只是停留于理论,还没实践过,下面就贴一张内链的图片试试,如果是从订阅阅读本文的朋友,看到的下图应该只是本站的 LOGO。

Life Studio

,,

相关的文章
  1. 我从google reader看到的是图 :mrgreen: 不是logo。

    ps: .htaccess是比较影响apache的性能的。因为只要启动了配置,apache都会执行大量的磁盘操作查找每个请求中的这种文件,即使文件不存在。

  2. 万戈你真是个更新狂……

    所有这种防止盗链都有一个Bug,直接下载,比如,直接用迅雷下载,还是可以下载的

    当今还没有一种很好的技术,或者是成本太高,或者是效果不明显

    哎……

  3. 尊敬的 Life Studio站长:

    您好!

    我们是位于英国的一家主机商 Sugarhosts(www.sugarhosts.com),由华人创办,目前销售的产品包括共享型虚拟主机、独立IP和SSL安全证书,在这个网页你可以看到我们的常规产品的详细信息和价格:
    http://www.sugarhosts.com/hosting.php

    Sugarhosts 是中国大陆区优秀的 PHP Blog 程序 emlog 的合作伙伴,也是著名苹果论坛麦客孤独(bbs.macgudu.com.cn)的服务器赞助商。您可以通过 emlog 建立的演示站点 shdemo.dns05.com/blog 和麦客孤独论坛 bbs.macgudu.com.cn 来体验我们主机的访问速度。

    我们提供美元、英镑、人民币与欧元四种货币的付款支持,和英文、简体中文、正体中文的客服支持。我们非常重视中国市场,希望能够为中国用户提供优质的主机服务,为此我们甚至特意在人民币价格的设定上,采用了按美元价以较低汇率换算后再去除零头的做法。

    我们的网站会根据访问者浏览器的语言设置自动设定可能适合访问者的语言和货币,另外,为了避免客户选错支付网关,我们特意整合了 支付宝 、 PayPal国际 和 PayPal中国 的支付接口,结账时系统会根据客户选择的货币类型自动跳转到正确的网关。

    我们非常期望能与贵站进行合作,来推广我们的服务,通过我们的分销联盟系统,贵站为我们带来的每笔销售,我们将给您10%~20%的提成。

    期待您的回信!

    Sugarhosts,
    everyone's internet

    Market Department

    • 恩,是的,我也是用外链,包括图片和多媒体文件都外链,但是总有人会需要用内链的防盗链方法,就提供一下

  4. 好久没来了,过来看看,我空间5G的也用了一半了,不过我主要是论坛,和你博客不一样,会员要上传文件我不可能不让他传吧!
    我现在就是等着5G满了就升级,我想那个时候证明论坛东西也不少了吧。

  5. 我现在是普通的小截图放服务器,通常这鬼东西也没人外链,而且图片很少,然后大图片或者自己本身需要外链的图片就放图片网站然后外链到自己博客

  6. 我的流量比较大。。。而我用的少所以就没做哈。。。还有那个.htaccess的规则有没有什么手册啊?我很想看看,但是网上我就是搜不到。。。 :cry:

  7. 呵呵,我现在还是喜欢把图片放在自己的站点上。
    那样子可以保证图片不拖慢载入进度,我用Flickr载入挺慢的说。
    我把每个图片尽量控制在70-80kb来着。
    现在建站时间不长,每个月流量最多用掉40%,还挺得住。
    -------
    汗,话说我没看到你的Logo。

  8. 这个我觉得没必要,尤其是图片,这样做导致feed用户都无法看到正常图片。。。
    再说,每月动辄几十G的流量,根本就值得用了。。。现在我每月连0.05G的流量都用不到。。。我每天100来IP。。。