強化Wordpress安全的.Htaccess設定的11個技巧

字號:


    .htaccess 是一個設定檔,讓你可以控制該路徑下的檔案及資料夾,以及所有子目錄。這個檔案名稱是由 hypertext access 而來,能為大多數(shù)的服務器環(huán)境使用。
    對于許多 WordPress 使用者來說,他們第一次看到 .htaccess 檔案應該是在自定他們網站的固定網址時。為了使用更美觀的鏈結,而不是預設的鏈結格式(例如:
    而不是 ),我們必須將以下程式碼加入 .htaccess 檔案:
    # BEGIN WordPress
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    # END WordPress
    如果 .htaccess 不存在,你可以自己建立一個然后將它上傳。你需要做的只有建立一個空白的文字檔,將它儲存為 .htaccess 然后上傳到網站的根目錄。請確認在檔案的開頭有一個點,是不可漏掉的。
    你也必須確認你的 .htaccess 檔案是服務器可寫入的,WordPress 才能將適當?shù)某淌酱a加入你的 .htaccess 。WordPress.org 建議把檔案權限設定為 644 。
    .htaccess 檔案不僅用于固定網址,該檔案也能強化網站安全。數(shù)以百萬的 WordPress 用戶利用它來保護網站免于垃圾郵件發(fā)送者、黑客和其他已知的威脅。
    在本文裡,我會分享一些用于 .htaccess 的程式碼片段,可以強化你的網站安全。相信你會找到一些對你有幫助的程式碼。
    你可能也注意到上面固定網址的 .htaccess 程式碼是包覆于 #BEGIN WordPress 及 #END WordPress 裡。WordPress 可以更新這個標簽裡的程式碼,你必須把要新增的程式碼片段放置于你的 .htaccess
    檔案的頂部或底部(在 #BEGIN WordPress 之前或 #END WordPress 之后)。
    請注意…
    .htaccess 是 WordPress 裡個性倔強的檔案,只要其中任何一個字符出錯,檔案就會出現(xiàn)錯誤。當錯誤發(fā)生時,它通常會影響到整個網站的運作,最重要的是你必須確保輸入 .htaccess 的程式碼沒有
    問題。
    在開始前,備份一下你當前使用的 .htaccess 檔案吧!將它保存到你電腦裡安全的位置。如果可以,也能在云端硬碟備份一份。
    無論何時更新了你服務器上的 .htaccess 檔案,記得回到網站重新整理一下,看看網站是不是還能正常運作。不要跳過這個步驟,因為確認網站運作正常是至關重要的一個步驟。如果你的網站給你一個
    白畫面,立即回復、還原 .htaccess 修改前的上個步驟。
    如果你無法還原你的備份,那麼將服務器上的 .htaccess 刪除,然后建立一個空白的 .htaccess 檔案并將它上傳。這將協(xié)助你使你的網站回復連線;當你的網站出現(xiàn)問題,這顯然是最重要的一步。
    1. 保護 .htaccess
    既然 .htaccess 擁有你整個網站的控制權,保護它遠離不相關人士就顯得很重要。以下的程式碼將讓黑客無法存取你的 .htaccess 檔,只需要透過 FTP 來修改 .htaccess 檔案(或是控制臺的檔案管
    理)。
    order allow,deny
    deny from all
    satisfy all
    2. 保護 WP-Config.php
    另一個重要的檔案是 wp-config.php。這個檔案裡包含資料庫的登入資訊,以及其他的系統(tǒng)設定。因此,明確的作法是禁止任何人訪問它。
    order allow,deny
    deny from all
    3. 保護 /Wp-Content/
    wp-content 資料夾也是 WordPress 相當重要的一部分,在這個資料夾裡包含了你的佈景主題、外掛、上傳的媒體檔案(圖片、影片)及快取檔案。
    有鑒于此,這通常也是黑客下手的目標。當垃圾郵件發(fā)送者試圖破壞你的老網站,他必須將郵件程式傳到你的上傳資料夾。然后使用你的服務器來寄送垃圾郵件;這麼做會使你的服務器被列入垃圾郵件名單。
    你可以透過創(chuàng)建一個獨立的 .htaccess 檔案來解決類似問題:
    Order deny,allow
    Deny from all
    Allow from all
    你必須將 .htaccess 檔案獨立上傳到 wp-content 主目錄,例如 。這麼做只會允許 XML、CSS、JPG、JPEG、PNG、GIF 和 JavaScript 被上傳到媒體資料夾,其餘的
    檔案類型將被拒絕。
    4. 保護 Include-Only 檔案
    某些檔案是絕不用讓使用者存取的。你可以加入以下程式碼,來阻擋使用者存取這些檔案:
    # Block the include-only files.
    RewriteEngine On
    RewriteBase /
    RewriteRule ^wp-admin/includes/ - [F,L]
    RewriteRule !^wp-includes/ - [S=3]
    RewriteRule ^wp-includes/[^/] .php$ - [F,L]
    RewriteRule ^wp-includes/js/tinymce/langs/. .php - [F,L]
    RewriteRule ^wp-includes/theme-compat/ - [F,L]
    5. 限制存取 WordPress 控制臺
    另一個黑客覬覦的目標是 WordPress 控制臺。如果他們獲取了存取該區(qū)域的權限,他們就可以在你的網站上為所欲為。
    確保 WordPress 控制臺更加安全,建立一個 .htaccess 檔案并加入以下程式碼:
    # Limit logins and admin by IP
    order deny,allow
    deny from all
    allow from 12.34.56.78
    請務必將 12.34.56.78 更改為你的 IP 位址(你可以在 What is My IP? 找到你的 IP Address),然后將它上傳到網站的 /wp-admin/ 路徑下,例如 。
    只有你能夠存取 WordPress 控制臺,其他人將會被阻擋在外。
    其他的管理員或作者的 IP 可以加在后面,你可以在 allow from 后面加入其他 IP,不同的 IP 間使用半形逗號來區(qū)隔,例如:
    allow from 12.34.56.78, 98.76.54.32, 19.82.73.64
    6. 禁止某人進入你的網站
    如果你知道某個來者不善的 IP 位址,你可以使用以下的程式碼將它拒于網站之外。舉例來說,你可以封鎖某些留下垃圾留言或是嘗試存取你 WordPress 控制臺的使用者。
    order allow,deny
    deny from 123.456.78.9
    deny from 987.654.32.1
    allow from all
    7. 將使用者傳送到維護頁面
    一些維護外掛像是 Ultimate Maintenance Mode 和 Mainteance 相當實用,當你在維護網站時,可以顯示一個暫時的頁面給使用者,或是在你更新網站時。
    不幸的是,維護外掛只有在你的網站運作正常時才起得了作用。
    如果你想未雨稠繆,我建議你建立一個基本的 .html 頁面,將它命名為 maintenance.html 來提醒使用者目前網站遭遇一些問題,但會在短時間內恢復連線。當你的網站掛掉時,只要將以下程式碼加入
    你的 .htaccess 檔案,就能將所有流量引導至維護畫面。
    RewriteEngine on
    RewriteCond REQUEST_URI} !/maintenance.html$
    RewriteCond REMOTE_ADDR} !^123.123.123.123
    RewriteRule $ /maintenance.html [R=302,L]
    你必須要為你的網站來自定上方程式碼。變更上方的檔案名稱,來符合你的維護頁面路徑,你也必須加入你的 IP 位址,以便在維護狀態(tài)時不會被引導至維護頁面(讓你可以繼續(xù)調整網站),以上代碼
    使用 302 轉址確保維護頁面不會被搜尋引擎索引。
    8. 禁止瀏覽目錄
    讓未經授權的使用者瀏覽目錄下的檔案或資料夾是相當危險的一件事情。如要禁止訪問你網站的目錄,只要在你的 .htaccess 加入以下程式碼即可:
    # disable directory browsing
    Options All -Indexes
    9. 允許瀏覽器快取
    當啟動瀏覽器快取功能后,將允許使用者從你的網站儲存元件,而無須重新下載。
    它用于設計元素,例如 CSS 樣式表和其它媒體內容,例如圖片。這是一個實用的技巧,因為當圖片上傳到網站后,很少會再次更新。瀏覽器快取能讓訪客直接讀取儲存在他們電腦裡的圖片,而不用從你
    的服務器下載,節(jié)省頻寬、也提升了頁面載入速度。
    啟用瀏覽器快取,你需要做的就是把以下程式碼加入 .htaccess 檔案:
    ## EXPIRES CACHING ##
    ExpiresActive On
    ExpiresByType image/jpg "access 1 year"
    ExpiresByType image/jpeg "access 1 year"
    ExpiresByType image/gif "access 1 year"
    ExpiresByType image/png "access 1 year"
    ExpiresByType text/css "access 1 month"
    ExpiresByType application/pdf "access 1 month"
    ExpiresByType text/x-javascript "access 1 month"
    ExpiresByType application/x-shockwave-flash "access 1 month"
    ExpiresByType image/x-icon "access 1 year"
    ExpiresDefault "access 2 days"
    ## EXPIRES CACHING ##
    10. 重新導向一個網址
    301 重新導向讓你可以通知搜尋引擎該鏈結已經重新移到新的路徑。它可以被用來重新導向一個網址、資料夾,甚至是一整個網站。
    因此,它常被用于網址發(fā)生變化時,例如變更網域名稱、變更固定網址結構,或是變更頁面名稱(例如將頁面名稱從 my-news 變成 mygreatnews)。
    要重新導向某個路徑,你需要做的就是加入以下程式碼:
    Redirect 301 /oldpage.html
    Redirect 301 /oldfolder/page2.html /folder3/page7.html
    Redirect 301 /
    11. 禁止直接連結圖片
    直接連結的意思是某人直接取用你的圖片鏈結,然后將它分享到其他網頁上。這常發(fā)生在討論區(qū),但大多數(shù)的網站擁有者仍然會這麼做。直接連結可能對你的網站帶來負面影響,包括使你的網站變慢,
    也會讓你的頻寬費用增加。
    你可以禁止除了你的網站外的網站直接連結圖片,將以下程式碼加入即可。請確認將以下網址更改為你的網址。
    RewriteEngine on
    RewriteCond HTTP_REFERER} !^$
    RewriteCond HTTP_REFERER} !^http(s)?://([NC]
    RewriteCond HTTP_REFERER} !^http(s)?://([NC]
    RewriteRule .(jpg|jpeg|png|gif)$ [NC,R,L]
    當其他人試圖從其他網址瀏覽你的圖片時,他們將會看到禁止圖片,而這圖片可以變更為任何你想要的圖(在上面的最后一行設定圖片路徑)。
    禁止直接連結可能導致一些 RSS 閱讀器無法顯示你 RSS Feed 裡的圖片。
    希望以上的 .htaccess 檔案技巧對你有所助益。如你所見,它是一個可以完成許多工作的設定檔。