1. 程式人生 > >2018-3-6 10周5次課 配置防盜鏈、訪問控制Directory、FilesMatch

2018-3-6 10周5次課 配置防盜鏈、訪問控制Directory、FilesMatch

防盜鏈 訪問控制 Directory FilesMatch

11.25 配置防盜鏈


·通過限制referer來實現防盜鏈的功能

帶寬會異常升高,有可能是被倒鏈


配置如下內容:

技術分享圖片



Order Allow,Deny ##順序,先把白名單允許,把其他deny掉

Allow from env=local_ref

註意:“Allow,Deny”中間只有一個逗號,也只能有一個逗號,有空格都會出錯;單詞的大小寫不限。上面設定的含義是先設定“先檢查允許設定,沒有允許的全部禁止”,而第二句允許變量 local_ref 的 referer。


<Directory /data/wwwroot/111.com> 定義防盜鏈的目錄

SetEnvIfNoCase Referer 白名單

<filesmatch> 匹配規則

<FilesMatch "\.(txt|doc|mp3|zip|rar|jpg|gif|png)"> 針對這些文件做防盜鏈


[root@localhost ~]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
[root@localhost ~]# /usr/local/apache2.4/bin/apachectl graceful

無法訪問111.com/gakki.jpg,這個是空referer

技術分享圖片


如何讓referer不為空,在論壇中創建新帖,附上鏈接

技術分享圖片


打開超鏈接,結果依然是無法訪問。

因為,之前配置文件中白名單沒有給到該論壇的地址,因此無法通過

技術分享圖片


把該位置改為該論壇的地址

技術分享圖片

[root@localhost ~]# /usr/local/apache2.4/bin/apachectl graceful


重新加載配置之後,

技術分享圖片


直接依然查看不了,但是通過論壇中地超鏈接就可以查看

技術分享圖片

技術分享圖片

技術分享圖片

直接訪問圖片地址是空referer,而通過鏈接訪問圖片,那麽referer是該鏈接所在論壇地址


·模擬referer

curl -e (referer必須http開頭)

[root@localhost ~]# curl -e "http://111.com/123.txt" -x127.0.0.1:80 111.com/gakki.jpg -I

技術分享圖片技術分享圖片


擴展:

Referer:https://baike.baidu.com/item/HTTP_REFERER/5358396?fr=aladdin

https://www.cnblogs.com/bonelee/p/7875163.html





11.26 訪問控制Directory


·用戶認證可以在一定程度起到安全作用,有時想要讓安全更加嚴格一些

為了防止訪問沖突產生,把訪問控制放到上方,那麽上方為訪問控制,下方位防盜鏈

技術分享圖片



Order deny,allow 順序,先deny,後allow

Deny from all 控制語句

Allow from 127.0.0.1 控制語句 控制對象:來源ip

先deny,後allow,那麽只有127.0.0.1不受限制;先allow,後deny,那麽就是deny



創建admin目錄,目錄下有index.php,內容是121212

[root@localhost ~]# mkdir /data/wwwroot/111.com/admin/
[root@localhost ~]# cd !$
cd /data/wwwroot/111.com/admin/
[root@localhost admin]# vim index.php
[root@localhost admin]# cat !$
cat index.php
121212
[root@localhost admin]# curl -x127.0.0.1:80 111.com/admin/index.php -I
HTTP/1.1 200 OK
Date: Sun, 04 Mar 2018 13:15:30 GMT
Server: Apache/2.4.29 (Unix) PHP/7.1.6
X-Powered-By: PHP/7.1.6
Content-Type: text/html; charset=UTF-8
[root@localhost admin]# curl -x127.0.0.1:80 111.com/admin/index.php
121212

(curl -x是訪問目標ip,而配置中也是同一個ip,這是本機和本機通訊)


[root@localhost admin]# curl -x192.168.65.128:80 111.com/admin/index.php -I
HTTP/1.1 403 Forbidden
Date: Sun, 04 Mar 2018 13:18:19 GMT
Server: Apache/2.4.29 (Unix) PHP/7.1.6
Content-Type: text/html; charset=iso-8859-1

(如果把Allow from 後改為192.168.65.128,那麽該ip將會被允許訪問)





11.27 訪問控制FilesMatch


·訪問控制出了目錄之外也可以去匹配文件名


編輯配置文件:

技術分享圖片

(這是對一個訪問鏈接做控制,那麽控制目錄就不太合適)


ip沒有通過,403,禁止訪問

技術分享圖片

更換ip,404,允許訪問

技術分享圖片





2018-3-6 10周5次課 配置防盜鏈、訪問控制Directory、FilesMatch