一、 配置防盗链
通过限制referer来实现防盗链的功能
配置文件增加如下内容:
vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
<Directory /data/wwwroot/111.com>
SetEnvIfNoCase Referer "http://111.com" local_ref
SetEnvIfNoCase Referer "http://aaa.com" local_ref
SetEnvIfNoCase Referer "^$" local_ref
<filesmatch "\.(txt|doc|mp3|zip|rar|jpg|gif|png)">
Order Allow,Deny
Allow from env=local_ref
</filesmatch>
</Directory>
让我们来测试一下:
先在http://ask.apelearn.com上发个帖子,将http://111.com/qq.png链接放进去作成超链接,然后直接点这个链接其实也是访问不了的,所以我们要到 vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf 配置文件中,将http://ask.apelearn.com这个地址添加进白名单,就可以访问了,这就是防盗链的作用。
1、作个帖子:
2、访问不了:
3、配置文件添加白名单:
4、重新访问OK了:
也可以使用curl来测试:
curl -e "http://ask.apelearn.com" 自定义referer
二、 访问控制Directory
核心配置文件内容:
vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Directory>
curl测试状态码为403则被限制访问了:
172.16.17.71是虚拟机IP,因为没有被允许,所以显示forbidden
127.0.0.1是在配置文件里设置允许访问的,所以正常显示200
三、 访问控制FilesMatch
核心配置文件内容:
vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
<FilesMatch admin.php(.*)">
Order deny,allow
Deny from all
Allow from 127.0.0.1
</FilesMatch>
测试:
扩展
几种限制ip的方法 :
http://ask.apelearn.com/question/6519
apache 自定义header :
http://ask.apelearn.com/question/830
apache的keepalive和keepalivetimeout :
http://ask.apelearn.com/question/556