配置防盗链 访问控制Directory 访问控制FilesMatch

一、配置防盗链
配置防盗链 访问控制Directory 访问控制FilesMatch
#vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
配置防盗链 访问控制Directory 访问控制FilesMatch
如果要在第三方站点访问,需要把第三方站点域名添加到httpd-vhosts.conf配置文件中,SetEnvIfNoCase Referer "http://aaa.com" local_ref下面再添加一行第三方站点,就可以实现在第三方站点访问到自己设置的这个链接
#vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
如果把 #SetEnvIfNoCase Referer "^$" local_ref这一行的注释去掉
#/usr/local/apache2.4/bin/apachectl -t
#/usr/local/apache2.4/bin/apachectl graceful
这样就打开了空Referer,自己定义的图片就可以访问到
#curl -e "http://111.com/123.txt" -x127.0.0.1:80 111.com/fj.jpg -I //-e用来指定它的Referer
-e定义一个Referer一定要以http://这样的格式来定义,才是一个合格的Referer

二、访问控制Directory
配置防盗链 访问控制Directory 访问控制FilesMatch
访问控制Directory就是在原来双层用户认证的基础上再加一层安全认证,在配置文件中设置本公司的官网IP为白名单,其他IP段访问都拒绝
#vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf //配置文件
配置防盗链 访问控制Directory 访问控制FilesMatch
#/usr/local/apache2.4/bin/apachectl -t //检查语法是否正确
#/usr/local/apache2.4/bin/apachectl graceful //修改完配置文件一定要重新加载
#curl -x127.0.0.1:80 111.com/admin/index.php -I
配置防盗链 访问控制Directory 访问控制FilesMatch
#curl -x192.168.238.150:80 111.com/admin/index.php -I //访问不是本机IP,看到效果为403
配置防盗链 访问控制Directory 访问控制FilesMatch
#tail /usr/local/apache2.4/logs/111.com-access_20180601.log //查看日志,可以看到使用127.0.0.1访问状态码为200,使用192.168.238.128访问是403代码
配置防盗链 访问控制Directory 访问控制FilesMatch
这个访问控制是以目录的形式来控制的,所以配置文件中配置访问控制的Directory一定要写绝对路径,然后定义Order顺序是先deny还是先allow,Allow from 127.0.0.1 控制的对象就是来源IP

三、访问控制FilesMatch
配置防盗链 访问控制Directory 访问控制FilesMatch
访问控制除了目录,也可以设置为文件名或者链接
#vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
配置防盗链 访问控制Directory 访问控制FilesMatch
#/usr/local/apache2.4/bin/apachectl -t //检查语法是否正确
#/usr/local/apache2.4/bin/apachectl graceful //修改完配置文件一定要重新加载

扩展
几种限制ip的方法 http://ask.apelearn.com/question/6519
apache 自定义header http://ask.apelearn.com/question/830
apache的keepalive和keepalivetimeout http://ask.apelearn.com/question/556

猜你喜欢

转载自blog.51cto.com/13669226/2122687