.htaccess 其實並不難,我們可以把它認爲它只是由一些簡單命令或者用法說明組成的文本文档,不過它卻能極大的提高站點的安全性。
1. 保護 .htaccess 自身的安全性
阻止用戶通過讀取和寫入 .htaceess 來更改服務器安全性的設置。
<files .htaccess> order allow,deny deny from all </files>
2. 隱藏服務器的數字簽名
隱藏服務器的數字簽名之後,入侵者將很難有機會找到安全漏洞,因爲他們不知道背後的服務器是什麽。ServerSignature Off
3. 限制上傳文档的大小
這個能夠幫助阻止 DoS 攻擊(用戶通過上傳巨大的文档來沖垮服務器)並且能夠節約帶寬。
LimitRequestBody 10240000 # 限制文档上傳帶寬爲10mb
4. 停止 mod_security 過濾器
這是一個可選的設置並且要小心處理。這些指令告訴服務器不要使用 mod_security 過濾器,因爲 mod_security 過濾器不允許用戶發表含有這些單詞 “curl”,“lynx” 或者 “wget” 等等單詞的文章。這個看起來有點瑣碎,但是這個讓一些站點頭痛,因爲這些單詞幾乎那些站點每天都會用到。SecFilterInheritance Off
5. 保護 wp-config.php 文档
我們可以通過 .htaccess 文档阻止用戶讀取和寫入 WordPress 的配置文档。這個指令假設 WordPress 是安裝在根目錄。
<files wp-config.php> order allow,deny deny from all </files>
6. 自定義錯誤文档
這條指令做的更多是站點的可用性而不是安全性。它們指定了一旦服務器錯誤,哪個頁面將被顯示,如頁面找不到(代碼 404) 禁止訪問(代碼 403)等等
ErrorDocument 404 /notfound.php ErrorDocument 403 /forbidden.php ErrorDocument 500 /error.php
7. 禁止瀏覽目錄
這將阻止服務器在沒有 index 文档(如 index.html,index.php 等等)的情況下顯示文档夾目錄内容,阻止用戶看到文档夾的内容使得更難對網站發動攻擊。
# disable directory browsing Options All -Indexes
8. 防止圖片盜鏈
這個能夠阻止其他網站盜鏈本網站的圖片,迫使他們 要麽指向整個頁面,或者其他存儲圖像的地方。這個保存了寶貴的帶寬並且能夠增加流量(雖然只是一點點)。當有人試著直接鏈接到你的網站來顯示圖片,下面的代碼將會得顯示stealingisbad.gif這張圖片。
#disable hotlinking of images RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain.com/.*$ [NC] RewriteRule \.(gif|jpg|png)$ http://www.yourdomain.com/stealingisbad.gif [R,L]
9. 在你的站點給每個 URL 設置符合槼定的或者“標準”的鏈接
這能夠幫助提高網站的可用性和提高網站在搜索引擎中的排名。總之,它會把來自 http://yourdomain.com 的請求重定向到 http://www.yourdomain.com/.
# set the canonical url RewriteEngine On RewriteCond %{HTTP_HOST} ^yourdomain\.com$ [NC] RewriteRule ^(.*)$ http://www.yourdomain.com/$1 [R=301,L]
10. 保護部落格免受垃圾留言的侵擾
最後的那條指令將會阻止用戶直接從其他網站的留言提交框發表留言,雖然這不是一個可以的防止所有垃圾垃圾留言的方法,但是它確實能夠幫助你。
# protect from spam comments RewriteEngine On RewriteCond %{REQUEST_METHOD} POST RewriteCond %{REQUEST_URI} .wp-comments-post\.php* RewriteCond %{HTTP_REFERER} !.*yourdomain.com.* [OR] RewriteCond %{HTTP_USER_AGENT} ^$ RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]
加入這些指令之後,你應該添加 WordPress 用於管理永久鏈接的代碼。還有很多的指令和很多的方法可以提高網站的可用性和安全性,不過這裡所列出的應該佔了日常所需的大部分了。當你上傳該文档到服務 器上之後,你應該仔細測試直到所有的東西都工作正常。檢查下是否受保護的文档還能不能被訪問,你依舊允許訪問的文档和文档夾能 否還能訪問。