Apache防盗链技术实现攻略

国内网站盗链成风,最倒霉的就是咱们这种使用付费主机有流量限制的个人了。没办法,只得加上了一个简单的反盗链(Anti-Leech)措施。我的服务器是 Apache,处理防盗链比较简单,解决之后,于是写下这篇笔记。

一、 使用 rewrite 技术实现 Apache 防盗链

Apache 防盗链的第一种实现方法,可以用 rewrite 实现。首先要确认 Apache 的 rewrite module 可用:能够控制 Apache httpd.conf 文件的,打开 httpd.conf,确保有这么一行配置:

LoadModule rewrite_module modules/mod_rewrite.so

然后在找到自己网站对应的 配置的地方,加入下列代码:

ServerName haohtml.com

# 防盗链配置
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://haohtml.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://haohtml.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.haohtml.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.haohtml.com$ [NC]
RewriteRule .*\.(gif|jpg|swf)$ http://www.haohtml.com/about/nolink.png [R,NC]

防盗链配置的说明:

1. 红色部分: 表示自己的信任站点。对我的站点来说,设置为 http://www.haohtml.com 和 http://haohtml.com Continue reading

Apache实现图片防盗链

Apache实现图片防盗链以及,显示一张“禁止盗链”的图片,我们可以用mod_rewrite 来实现。

假设充许连结图片的主机域名为:tech.ddvip.com

修改httpd.conf

SetEnvIfNoCase Referer “^” local_ref=1

<FilesMatch “.(gif|jpg)”>

Order Allow,Deny

Allow from env=local_ref

</FilesMatch>

这个简单的应用不光可以解决图片盗链的问题,稍加修改还可以防止任意文件盗链下载的问题。

使用以上的方法当从非指定的主机连结图片时,图片将无法显示。 Continue reading