HostMonster:盗链保护背后的代码

出自美国主机知识库

在2008年4月25日 (五) 14:48由大象无形 (讨论 | 贡献)所做的修订版本
(差异) ←上一修订 | 最新修订 (差异) | 下一修订→ (差异)
跳转到: 导航, 搜索

(.htaccess) 盗链保护背后的代码

当别人输入类似like www.mydomain.com/images/这样的正确URL时,保护你/images目录不会显示图片

保护图片在别人窥探之外。

盗链保护,密码保护,或者 chmod 可以帮助你,你要保护一个文件或图片的目录可以有很多种方法。Apache有一个内建的保护目录中文件免于探查眼的方法,该方法使用.htaccess 文件。

当你的浏览器发出一个图片请求时,通常还会发送链接到该图片的页面的URL。下面的.htaccess 文件将使服务器检查这个URL (下面将会提到),如果这个URL是经过你指定授权的,将会发送一个内部标记叫做"locally_linked"。 该内部标记在技术上称为"环境变量"。如果发送的URL不在认证 URLs列表里,标记(或环境变量)就不会被创建。注意到,即使浏览器没有发送任何URL同样会设置"locally_linked" :当访问者通过浏览器或代理隐藏了相关的URL,就会发生这种情况。

网络服务器接下来检查被请求的文件是否具有下面列表里的扩展名 (gif, png, jpg and jpeg).。如果存在,并且"locally_linked"变量已设置,那么将发送图片,否则将会发送错误信息。如果你觉得过于复杂,可以使用盗链管理器或者cpanel里的密码保护图表。

---------------代码-----------------------------------------------------------
SetEnvIfNoCase Referer "^http://www.your-domain-name-here.com/" locally_linked=1
SetEnvIfNoCase Referer "^http://www.your-domain-name-here.com$" locally_linked=1
SetEnvIfNoCase Referer "^http://your-domain-name-here.com/" locally_linked=1
SetEnvIfNoCase Referer "^http://your-domain-name-here.com$" locally_linked=1
SetEnvIfNoCase Referer "^$" locally_linked=1
<FilesMatch ".(gif|png|jpe?g)$">
Order Allow,Deny
Allow from env=locally_linked
</FilesMatch>
个人工具
名字空间
变换
动作
导航
工具/资源
工具箱