访问控制

访问控制

限制ip访问(白名单、黑名单)

  • 当咱们的某一个站点为公司内部使用时,能够在虚拟主机配置文件中使用限制ip访问的配置使外网不能访问站点。
vi /etc/nginx/conf.d/bbs.aaa.com.conf
  • 在配置文件中添加以下内容,reload配置文件后验证。
allow 127.0.0.1;   //现实生产中,该白名单地址应设置为公司外网地址/或地址段。
         deny all;
  • 能够看到,使用指定白名单的ip能够正常访问,而不在白名单中的ip是拒绝访问的。
[root@localhost ~]# curl -x127.0.0.1:80 bbs.aaa.com -I
HTTP/1.1 200 OK
Server: nginx/1.14.2
Date: Tue, 19 Feb 2019 17:05:28 GMT
Content-Type: text/html; charset=utf-8
Connection: keep-alive
X-Powered-By: PHP/7.3.2
[root@localhost ~]# curl -x192.168.254.128:80 bbs.aaa.com -I
HTTP/1.1 403 Forbidden
Server: nginx/1.14.2
Date: Tue, 19 Feb 2019 17:05:38 GMT
Content-Type: text/html
Content-Length: 169
Connection: keep-alive
  • 直接拒绝某个ip访问(黑名单),直接在配置文件中写入deny ip就能够了
deny 127.0.0.1;
  • 验证
[root@localhost ~]# curl -x127.0.0.1:80 bbs.aaa.com -I
HTTP/1.1 403 Forbidden
Server: nginx/1.14.2
Date: Tue, 19 Feb 2019 17:14:08 GMT
Content-Type: text/html
Content-Length: 169
Connection: keep-alive

限制站点上的某个目录(后台目录)的访问

  • 好比咱们的网站下的一个目录/admin是后台目录,不容许经过外网访问,咱们能够经过编辑虚拟主机配置文件实现
location /admin/

{
    allow 127.0.0.1;
    deny all;
}
  • 验证能够发现,使用其余ip访问反馈的状态码是403(拒绝的),而使用127.0.0.1访问反馈的状态码市404(并无拒绝,只是该站点下没有/admin/目录。)
[root@localhost ~]# curl -x192.168.254.128:80 bbs.aaa.com/admin/ -I
HTTP/1.1 403 Forbidden
Server: nginx/1.14.2
Date: Tue, 19 Feb 2019 17:24:27 GMT
Content-Type: text/html
Content-Length: 169
Connection: keep-alive

[root@localhost ~]# curl -x127.0.0.1:80 bbs.aaa.com/admin/ -I
HTTP/1.1 404 Not Found
Server: nginx/1.14.2
Date: Tue, 19 Feb 2019 17:24:53 GMT
Content-Type: text/html
Content-Length: 169
Connection: keep-alive

限制某个目录下的某类文件,下面实例中是限制upload和image目录下全部的以.php结尾的文件。

location ~ .*(upload|image)/.*\.php$
{
    deny all;
}

限制user-agent,下面实例是限制user-agent中包含Spider/3.0|YoudaoBot|Tomato的访问。

if ($http_user_agent ~ 'Spider/3.0|YoudaoBot|Tomato')
{
    return 403;
}

限制uri

什么是URI?参考 https://baike.baidu.com/item/URI/2901761?fr=aladdinphp

  1. 在上面这个网址当中,baike.baidu.com是域名;/item/URI/2901761是uri ;?后面是参数。
  2. 限制request_uri 就是限制uri和参数中包含指定字符的访问。
if ($request_uri ~ (abc|123))
{
    return 404;
}

curl 的用法

curl有不少使用方法,可参考: http://www.javashuo.com/article/p-usdmlmbu-m.htmlhtml

相关文章
相关标签/搜索