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

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

就可以在另外一个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 不然会有冲突而报错.



你可能感兴趣的:(使用HTTP协议,和.htaccess设置防盗链)