訪問控制

訪問控制

限制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

相關文章
相關標籤/搜索