Apache利用.htaccess提高WordPress的安全

字號+ 編輯: 国内TP粉 修訂: IT男在阿里 來源: ThinkPHP 2023-09-10 我要說兩句(0)

.htaccess 是一個特殊的文档,它能改變你服務器上的設置和允許你做很多不同的東東,如它能定制化 404 錯誤頁面。

 .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 用於管理永久鏈接的代碼。還有很多的指令和很多的方法可以提高網站的可用性和安全性,不過這裡所列出的應該佔了日常所需的大部分了。當你上傳該文档到服務 器上之後,你應該仔細測試直到所有的東西都工作正常。檢查下是否受保護的文档還能不能被訪問,你依舊允許訪問的文档和文档夾能 否還能訪問。

閲完此文,您的感想如何?
  • 有用

    0

  • 沒用

    0

  • 開心

    0

  • 憤怒

    0

  • 可憐

    0

1.如文章侵犯了您的版權,請發郵件通知本站,該文章將在24小時内刪除;
2.本站標注原創的文章,轉發時煩請注明來源;
3.交流群: 2702237 13835667

相關課文
  • 防止退出linux終耑退出之後導致的nohup進程強制退出

  • Linux系統下word文档轉成pdf的辦法

  • ubuntu和debian安裝nginx或者tengine報錯, 找不到pcre依賴庫的解決辦法

  • 常見的web中間件請求返回狀態碼

我要說說
網上賓友點評