您的位置:首页 > 理论基础 > 计算机网络

使用HTTP协议,和.htaccess设置防盗链

2014-08-22 00:00 176 查看
或许有时候在实际生产环境中,服务器的某些敏感资源,我们不希望其他站点来访问。当某个资源的路径被用户获取到了

就可以在另外一个web站点通过HTTP请求来请求我们的资源:

如 A站点中有一个图片路径:
http://www.star.com/public/sp.jpg
在B网站中 通过img

<img src='http://www.star.com/public/sp.jpg'/>

如何阻止B网站访问网站某些资源呢?

①修改Apache配置文件

打开rewrite模块

LoadModule rewrite_module modules/mod_rewrite.so

修改httpd-vhosts.conf文件(如果配置了虚拟主机)

AllowOverride All

当服务器发现一个
.htaccess
文件(由
AccessFileName
指定)时,它需要知道在这个文件中声明的哪些指令能覆盖在此之前指定的配置指令。

AllowOverride只能出现在不包含正则表达式的Directory段中才才会有效

②.htaccess设置

在该文件中配置

RewriteCond %{HTTP_REFERER} !www.star.com

RewriteRule .*\.(jpg|png|gif) -[F] //-[F]服务停止

或者直接显示另外一个图片

RewriteRule .*\.(jpg|png|gif) abc.php

如果我们不希望显示目录

可以这样:

Options none

如果已经配置AllowOverride All 则可以去掉Options none 不然会有冲突而报错.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: