linux16-访问控制

第十六天

  • 4.41静态文件过期缓存
  • 4.42nginx防盗链
  • 4.43访问控制

4.41静态文件过期缓存

什么是静态文件的过期时间

让图片之类的静态文件,缓存在客户端的浏览器中,在没有过期之前,浏览器不需要请求该图片。
就是为了让这些图片有一个时效性。
如果服务器上图片已经做了更新,但是客户端访问到的还是旧的。
如何配置:

vi 虚拟主机配置文件,增加或更改

location ~* \.(png|jpeg|gif|js|css|bmp|flv)$
{
	expires 1d;
    access_log off;
    }

补充:

curl -x 用来指定目标服务器的IP和端口,例:curl -x127.0.0.1:80 -I www.aminglinux.cc

bc 是一个linux系统下面的计算器,yum install -y bc

4.42nginx防盗链

什么叫防盗链?

两个网站 A 和 B, A网站引用了B网站上的图片,这种行为就叫做盗链。 防盗链,就是要防止A引用B的图片。
配置:

location ~ \.(png|gif|jpeg|bmp|mp3|mp4|flv)$
{
    valid_referers none blocked server_names *.aming.com;
    if ($invalid_referer) {
            return 403;
    }
}

补充:

rz 上传文件,yum install lrzsz
sz filename 这样去把这个文件推送到windows上

测试防盗链: curl -I -e “http://www.aaa.com/1.txt” http://www.aming.com/1.png
curl的-e指定自定义的referer

4.43访问控制

限制IP访问:
在虚拟主机配置文件中操作:vi /etc/nginx/conf.d/bbs.zyp.conf:
1)白名单或黑名单
白名单
allow 127.0.0.1;
allow 192.168.1.0/24;
deny all;
测试:curl -x127.0.0.1:80 bbs.zyp.cc -I

黑名单
deny 127.0.0.1;
deny 1.1.1.1;
允许的就不用写了,其他都是允许。

2)限制某个文件或者目录
location /admin/ //在admin目录下操作
location ~ /admin.php
{
allow 127.0.0.1;
allow 192.168.112.136;
deny all;
}

3)限制某个目录下的某类文件
location ~ .(upload|image)/..php$
{
deny all;
}

4)限制user-agent
if ($http_user_agent ~ ‘Spider/3.0|YoudaoBot|Tomato’)
{
return 403;
}
测试:模拟user-agent
curl -A ‘aaaaaSpider/3.0’ -x127.0.0.1:80 bbs.zyp.cc -I

5)限制uri
if ($request_uri ~ (abc|123))
{
return 404;
}
补充:

curl命令用法:
curl -v -A ‘aaaaaspider/3.0’ -e “1111” -x127.0.0.1:80 bbs.aminglinux.cc -I
-A指定user-agent -e指定referer -x指定访问目标服务器的ip和port -I只显示 header信息,不显示具体的网页内容
-v 显示详细的通信过程

你可能感兴趣的:(阿铭Linux)