11.25 配置防盜鏈
11.26 訪問控制Directory
11.27 訪問控制FilesMatch
配置防盜鏈
盜鏈一般是為了節(jié)省流量、提高訪問速度。對于被盜鏈者來說一點益處沒有,所以許多網(wǎng)站都做了防盜鏈設置。apache通過限制referer來實現(xiàn)防盜鏈的功能。
虛擬主機配置文件增加如下內(nèi)容
<Directory /data/wwwroot/www.123.com>
SetEnvIfNoCase Referer "http://www.123.com" local_ref
SetEnvIfNoCase Referer "http://123.com" local_ref
SetEnvIfNoCase Referer "^$" local_ref
<filesmatch "\.(txt|doc|mp3|zip|rar|jpg|gif)">
Order Allow,Deny
Allow from env=local_ref
</filesmatch>
</Directory>
order定義了訪問控制的順序,上例是先allow后deny,不關順序怎樣都會執(zhí)行完下面的所有規(guī)則。local_ref類似標簽。上面例子定義了三個標簽,第三個是空referer,就是直接訪問。不容易理解空referer就先思考referer的定義:跳轉前的網(wǎng)址。空referer就是沒有跳轉前的網(wǎng)址,即直接訪問。
可以某一論壇發(fā)一帖子然后在瀏覽器測試。也可以用curl來試驗。curl使用-e參數(shù)來指定referer。
訪問控制Directory
用戶認證還是存在風險,比如密碼泄漏。如果訪問者ip固定,可以通過ip的訪問控制來降低風險。
ip控制核心配置文件內(nèi)容
<Directory /data/wwwroot/www.123.com/admin/>
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Directory>
order定義控制順序,下面的語句一句order定義的順序執(zhí)行。127.0.0.1指的是來源ip。
curl測試狀態(tài)碼為403則被限制訪問了。
訪問控制FilesMatch
directory控制目錄,filesmatch匹配相應文件。這和用戶認證中設置類似。
核心配置文件內(nèi)容
<Directory /data/wwwroot/www.123.com>
<FilesMatch "admin.php(.*)">
Order deny,allow
Deny from all
Allow from 127.0.0.1
</FilesMatch>
</Directory>
filesmatch不嚴格區(qū)分大小寫。