博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
访问控制
阅读量:6906 次
发布时间:2019-06-27

本文共 2001 字,大约阅读时间需要 6 分钟。

hot3.png

访问控制

限制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 -IHTTP/1.1 200 OKServer: nginx/1.14.2Date: Tue, 19 Feb 2019 17:05:28 GMTContent-Type: text/html; charset=utf-8Connection: keep-aliveX-Powered-By: PHP/7.3.2[root@localhost ~]# curl -x192.168.254.128:80 bbs.aaa.com -IHTTP/1.1 403 ForbiddenServer: nginx/1.14.2Date: Tue, 19 Feb 2019 17:05:38 GMTContent-Type: text/htmlContent-Length: 169Connection: keep-alive
  • 直接拒绝某个ip访问(黑名单),直接在配置文件中写入deny ip就可以了
deny 127.0.0.1;
  • 验证
[root@localhost ~]# curl -x127.0.0.1:80 bbs.aaa.com -IHTTP/1.1 403 ForbiddenServer: nginx/1.14.2Date: Tue, 19 Feb 2019 17:14:08 GMTContent-Type: text/htmlContent-Length: 169Connection: 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/ -IHTTP/1.1 403 ForbiddenServer: nginx/1.14.2Date: Tue, 19 Feb 2019 17:24:27 GMTContent-Type: text/htmlContent-Length: 169Connection: keep-alive[root@localhost ~]# curl -x127.0.0.1:80 bbs.aaa.com/admin/ -IHTTP/1.1 404 Not FoundServer: nginx/1.14.2Date: Tue, 19 Feb 2019 17:24:53 GMTContent-Type: text/htmlContent-Length: 169Connection: 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?参考

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

curl 的用法

curl有很多使用方法,可参考:

转载于:https://my.oschina.net/u/3731306/blog/3012184

你可能感兴趣的文章
redis 与 memcached
查看>>
直接编译caffe出现的两个问题
查看>>
Python编程笔记(第三篇)【补充】三元运算、文件处理、检测文件编码、递归、斐波那契数列、名称空间、作用域、生成器...
查看>>
win7 设置docker加速器
查看>>
centos ibus erro resolve
查看>>
Jedis存取对象和对象列表
查看>>
什么是区块链?
查看>>
PHP-Phalcon框架中的数据库操作
查看>>
第16届电源技术专题研讨会
查看>>
Python web前端 05 JavaScript
查看>>
Hibernate(1) 阻抗不匹配
查看>>
如何才能留住员工
查看>>
Pascal常用函数
查看>>
LeetCode - 12. Integer to Roman
查看>>
Python——hashlib
查看>>
关于DB2 ORACLE MYSQL 数据库 where字句执行顺序问题
查看>>
Java+Selenium3.3.1环境搭建
查看>>
@responseBody注解的使用
查看>>
为什么in_array(0, ['a', 'b', 'c'])返回true
查看>>
CISCO 7204路由器SDH线路配置
查看>>