2018-3-6 Linux學習筆記
阿新 • • 發佈:2018-03-05
11.25 配置防盜鏈 11.26 訪問控制Directory 11.27 訪問控制FilesMatc 11.25 配置防盜鏈
- 背景:有時候我們不想讓其他網站通過網站鏈接方式來訪問位於我們網站上的文檔,圖片,音頻等文件,這時可通過限制referer的方式來實現防盜鏈功能.
- 配置防盜鏈的方法:
- vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
- 配置文件增加如下內容:
<Directory /data/wwwroot/123.com>
SetEnvIfNoCase Referer "http://123.com" local_ref
SetEnvIfNoCase Referer "http://www.baidu.com" local_ref
<FilesMatch ".(txt|doc|mp3|zip|rar|jpg|gif|png)">
Order Allow,Deny
Allow from env=local_ref
</FilesMatch>
</Directory> - 以上配置的意思是僅讓通過http://123.com,http://www.baidu.com 和空Referer(像直接在瀏覽器中輸入地址來訪問,不借助跳轉)三種方式的訪問請求能訪問本站點的txt|doc|mp3|zip|rar|jpg|gif|png等文件,其他的任何訪問請求均拒絕.
- 重新加載配置文件:
/usr/local/apache2.4/bin/apachectl -t
/usr/local/apache2.4/bin/apachectl graceful
- 配置後的測試:
- (1)自定義Referer的訪問測試:
curl -e "http://123.com" -x127.0.0.1:80 -I 123.com/qq.png
curl -e "http://www.baidu.com" -x127.0.0.1:80 -I 123.com/qq.png - (2)空Referer訪問測試:
curl -x127.0.0.1:80 -I 123.com/qq.png
11.26 訪問控制Directory
- 背景:有時候我們網站有些內容,比如後臺管理頁面,為安全故,不想外部訪問,這時我們可通過訪問控制Directory(限制源IP)的方法只讓源IP為內部的訪問通過,其他的統統拒絕.
- 配置訪問控制Directory的方法:
- vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
- 配置文件增加如下內容:
<Directory /data/wwwroot/www.123.com/admin/> #配置訪問控制的目標目錄
Order deny,allow #是否能訪問的順序(最終能否訪問靠這一行)
Deny from all
Allow from 127.0.0.1 #控制對象為來源IP
</Directory> - 重新加載配置文件:
/usr/local/apache2.4/bin/apachectl -t
/usr/local/apache2.4/bin/apachectl graceful - 配置後的測試:
curl測試狀態碼為403,說明被限制訪問了.
11.27 訪問控制FilesMatch
- 訪問控制FilesMatch和訪問控制Directory的功能類似,不同點在於FilesMatch控制的是更小範圍層面(文件)的訪問控制.
- 配置訪問控制FilesMatch的方法:
- vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
- 配置文件增加如下內容:
<Directory /data/wwwroot/123.com>
<FilesMatch "admin.php(.*)">
Order deny,allow
Deny from all
Allow from 127.0.0.1
</FilesMatch>
</Directory> - 重新加載配置文件:
/usr/local/apache2.4/bin/apachectl -t
/usr/local/apache2.4/bin/apachectl graceful - 配置後的測試:
擴展學習:
幾種限制ip的方法 http://ask.apelearn.com/question/6519
apache 自定義header http://ask.apelearn.com/question/830
apache的keepalive和keepalivetimeout http://ask.apelearn.com/question/556
2018-3-6 Linux學習筆記