• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

免費資源網路社群

免費資源指南,每日網路資訊與科技新知

  • 免費軟體
    • APP
      • iOS
      • Android
    • Mac
    • 瀏覽器外掛
      • Chrome
      • Firefox
    • 防毒軟體
    • 系統工具
    • 圖片處理
    • 文字編輯
  • 線上工具
    • 雲端掃毒
    • 線上翻譯
    • 線上轉檔
    • 配色工具
    • 縮網址
    • 產生器
  • 免費空間
    • 網路硬碟
    • 圖片空間
    • 影片空間
    • 網站空間
  • 熱門主題
    • Facebook
    • VPN
    • YouTube
    • 編輯精選
    • 字型下載
    • 免費圖庫
  • 網路科技
    • 個人服務
    • 電子信箱
    • 實用教學
    • 資料查詢
    • 音樂音效
  • 架站教學
    • DNS
    • WordPress
    • 搜尋引擎最佳化
    • 素材模版
    • 免費圖示
    • 網站監測

11 個強化 WordPress 網站安全的 .Htaccess 設定技巧

Last updated 6 years ago by Pseric

本文參考資料為 WordPress Htaccess Tips And Tricks, 原作者 Kevin Muldoon。

11 個強化 WordPress 網站安全的 .Htaccess 設定技巧

.htaccess 是一個設定檔,讓你可以控制該路徑下的檔案及資料夾,以及所有子目錄。這個檔案名稱是由 hypertext access 而來,能為大多數的伺服器環境使用。

對於許多 WordPress 使用者來說,他們第一次看到 .htaccess 檔案應該是在自定他們網站的固定網址時。為了使用更美觀的鏈結,而不是預設的鏈結格式(例如:https://free.com.tw/sample-post/ 而不是 https://free.com.tw/?p=123 ),我們必須將以下程式碼加入 .htaccess 檔案:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

如果 .htaccess 不存在,你可以自己建立一個然後將它上傳。你需要做的只有建立一個空白的文字檔,將它儲存為 .htaccess 然後上傳到網站的根目錄。請確認在檔案的開頭有一個點,是不可漏掉的。

你也必須確認你的 .htaccess 檔案是伺服器可寫入的,WordPress 才能將適當的程式碼加入你的 .htaccess 。WordPress.org 建議把檔案權限設定為 644 。

.htaccess 檔案不僅用於固定網址,該檔案也能強化網站安全。數以百萬的 WordPress 用戶利用它來保護網站免於垃圾郵件發送者、黑客和其他已知的威脅。

在本文裡,我會分享一些用於 .htaccess 的程式碼片段,可以強化你的網站安全。相信你會找到一些對你有幫助的程式碼。

你可能也注意到上面固定網址的 .htaccess 程式碼是包覆於 #BEGIN WordPress 及 #END WordPress 裡。WordPress 可以更新這個標籤裡的程式碼,你必須把要新增的程式碼片段放置於你的 .htaccess 檔案的頂部或底部(在 #BEGIN WordPress 之前或 #END WordPress 之後)。

請注意…

.htaccess 是 WordPress 裡個性倔強的檔案,只要其中任何一個字符出錯,檔案就會出現錯誤。當錯誤發生時,它通常會影響到整個網站的運作,最重要的是你必須確保輸入 .htaccess 的程式碼沒有問題。

在開始前,備份一下你當前使用的 .htaccess 檔案吧!將它保存到你電腦裡安全的位置。如果可以,也能在雲端硬碟備份一份。

無論何時更新了你伺服器上的 .htaccess 檔案,記得回到網站重新整理一下,看看網站是不是還能正常運作。不要跳過這個步驟,因為確認網站運作正常是至關重要的一個步驟。如果你的網站給你一個白畫面,立即回復、還原 .htaccess 修改前的上個步驟。

如果你無法還原你的備份,那麼將伺服器上的 .htaccess 刪除,然後建立一個空白的 .htaccess 檔案並將它上傳。這將協助你使你的網站回復連線;當你的網站出現問題,這顯然是最重要的一步。

 

1. 保護 .htaccess

既然 .htaccess 擁有你整個網站的控制權,保護它遠離不相關人士就顯得很重要。以下的程式碼將讓黑客無法存取你的 .htaccess 檔,只需要透過 FTP 來修改 .htaccess 檔案(或是控制台的檔案管理)。

<files ~ "^.*\.([Hh][Tt][Aa])">
order allow,deny
deny from all
satisfy all
</files>

 

2. 保護 WP-Config.php

另一個重要的檔案是 wp-config.php。這個檔案裡包含資料庫的登入資訊,以及其他的系統設定。因此,明確的作法是禁止任何人訪問它。

<files wp-config.php>
order allow,deny
deny from all
</files>

 

3. 保護 /Wp-Content/

wp-content 資料夾也是 WordPress 相當重要的一部分,在這個資料夾裡包含了你的佈景主題、外掛、上傳的媒體檔案(圖片、影片)及快取檔案。

有鑑於此,這通常也是黑客下手的目標。當垃圾郵件發送者試圖破壞你的老網站,他必須將郵件程式傳到你的上傳資料夾。然後使用你的伺服器來寄送垃圾郵件;這麼做會使你的伺服器被列入垃圾郵件名單。

你可以透過創建一個獨立的 .htaccess 檔案來解決類似問題:

Order deny,allow
Deny from all
<Files ~ ".(xml|css|jpe?g|png|gif|js)$">
Allow from all
</Files>

你必須將 .htaccess 檔案獨立上傳到 wp-content 主目錄,例如 www.yourwebsite.com/wp-content/。這麼做只會允許 XML、CSS、JPG、JPEG、PNG、GIF 和 JavaScript 被上傳到媒體資料夾,其餘的檔案類型將被拒絕。

 

4. 保護 Include-Only 檔案

某些檔案是絕不用讓使用者存取的。你可以加入以下程式碼,來阻擋使用者存取這些檔案:

# Block the include-only files.
<IfModule mod_rewrite.c>
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]
</IfModule>

 

5. 限制存取 WordPress 控制台

另一個黑客覬覦的目標是 WordPress 控制台。如果他們獲取了存取該區域的權限,他們就可以在你的網站上為所欲為。

確保 WordPress 控制台更加安全,建立一個 .htaccess 檔案並加入以下程式碼:

# Limit logins and admin by IP
<Limit GET POST PUT>
order deny,allow
deny from all
allow from 12.34.56.78
</Limit>

請務必將 12.34.56.78 更改為你的 IP 位址(你可以在 What is My IP? 找到你的 IP Address),然後將它上傳到網站的 /wp-admin/ 路徑下,例如 www.yourwebsite.com/wp-admin/ 。

只有你能夠存取 WordPress 控制台,其他人將會被阻擋在外。

其他的管理員或作者的 IP 可以加在後面,你可以在 allow from 後面加入其他 IP,不同的 IP 間使用半形逗號來區隔,例如:

allow from 12.34.56.78, 98.76.54.32, 19.82.73.64

 

6. 封鎖某人進入你的網站

如果你知道某個來者不善的 IP 位址,你可以使用以下的程式碼將它拒於網站之外。舉例來說,你可以封鎖某些留下垃圾留言或是嘗試存取你 WordPress 控制台的使用者。

<Limit GET POST>
order allow,deny
deny from 123.456.78.9
deny from 987.654.32.1
allow from all
</Limit>

 

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 位址,以便在維護狀態時不會被引導至維護頁面(讓你可以繼續調整網站),以上代碼使用 302 轉址確保維護頁面不會被搜尋引擎索引。

 

8. 禁止瀏覽目錄

讓未經授權的使用者瀏覽目錄下的檔案或資料夾是相當危險的一件事情。如要禁止訪問你網站的目錄,只要在你的 .htaccess 加入以下程式碼即可:

# disable directory browsing
Options All -Indexes

 

9. 允許瀏覽器快取

當啟動瀏覽器快取功能後,將允許使用者從你的網站儲存元件,而無須重新下載。

它用於設計元素,例如 CSS 樣式表和其它媒體內容,例如圖片。這是一個實用的技巧,因為當圖片上傳到網站後,很少會再次更新。瀏覽器快取能讓訪客直接讀取儲存在他們電腦裡的圖片,而不用從你的伺服器下載,節省頻寬、也提升了頁面載入速度。

啟用瀏覽器快取,你需要做的就是把以下程式碼加入 .htaccess 檔案:

## EXPIRES CACHING ##
<IfModule mod_expires.c>
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"
</IfModule>
 ## EXPIRES CACHING ##

 

10. 重新導向一個網址

301 重新導向讓你可以通知搜尋引擎該鏈結已經重新移到新的路徑。它可以被用來重新導向一個網址、資料夾,甚至是一整個網站。

因此,它常被用於網址發生變化時,例如變更網域名稱、變更固定網址結構,或是變更頁面名稱(例如將頁面名稱從 my-news 變成 mygreatnews)。

要重新導向某個路徑,你需要做的就是加入以下程式碼:

Redirect 301 /oldpage.html http://www.yourwebsite.com/newpage.html
Redirect 301 /oldfolder/page2.html /folder3/page7.html
Redirect 301 / http://www.mynewwebsite.com/

 

11. 禁止直接連結圖片

直接連結的意思是某人直接取用你的圖片鏈結,然後將它分享到其他網頁上。這常發生在討論區,但大多數的網站擁有者仍然會這麼做。直接連結可能對你的網站帶來負面影響,包括使你的網站變慢,也會讓你的頻寬費用增加。

你可以禁止除了你的網站外的網站直接連結圖片,將以下程式碼加入即可。請確認將以下網址更改為你的網址。

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourwebsite.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourotherwebsite.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ http://i.imgur.com/g7ptdBB.png [NC,R,L]

當其他人試圖從其他網址瀏覽你的圖片時,他們將會看到禁止圖片,而這圖片可以變更為任何你想要的圖(在上面的最後一行設定圖片路徑)。

禁止直接連結可能導致一些 RSS 閱讀器無法顯示你 RSS Feed 裡的圖片。

希望以上的 .htaccess 檔案技巧對你有所助益。如你所見,它是一個可以完成許多工作的設定檔。

分享文章

  • 按一下以分享至 Facebook(在新視窗中開啟)
  • 分享到 Twitter(在新視窗中開啟)
  • 分享到 LinkedIn(在新視窗中開啟)
  • 分享到 Pinterest(在新視窗中開啟)

分類: 熱門主題, 編輯推薦標籤: .htaccess, Code Snippets, WordPress, WP, 安全相關, 搬家, 教學, 架站教學, 架站程式, 熱門主題, 程式碼, 編輯嚴選, 編輯推薦, 虛擬主機, 部落格

關於 Pseric

學生時代成立網站以來堅持每日更新,在挖掘資料的過程中慢慢找出自己經營網站的方法,最開心的是有一群一起長大的讀者。

Primary Sidebar

使用電子郵件訂閱網站

輸入你的電子郵件地址訂閱網站新文章,使用電子郵件接收通知。

站內搜尋

追蹤更新

最新文章

  • Insta-stories.ru 匿名瀏覽 IG 限時動態和精選貼文,一鍵下載相片影片
  • OVRVU 專注於精簡和免費個人頁面產生器,支援 Markdown 無流量限制
  • 怕吃到萊豬?臺灣豬證明標章地圖可查詢使用國產豬肉店家
  • Brizy Cloud 免費架站工具輕鬆打造高轉換率網站,支援自訂網域名稱
  • WhatsApp 強制與 Facebook 共享資料,刪除帳號、備份匯出對話記錄教學
  • InstaDLD 貼上 Instagram 貼文網址就能下載相片或影片檔
  • StackWhats 將 WhatsApp 線上交談加入你的網站,點選開啟網頁聊天功能
  • Malist 在 Safari 瀏覽器整合聯絡人,從下拉選單快速搜尋複製 Email 地址

精選主題

  • 思源黑體:Adobe 與 Google 合作開發開放原始碼中文字型
  • 思源宋體 Noto Serif CJK 字型免費下載!Google、Adobe 再次攜手推出開放原始碼字體
  • Apple Music 登陸台灣!免費三個月試用音樂串流服務,不聽音樂要幹嘛?
  • [下載] WinRAR 解壓縮軟體正式推出中文免費版,別再用盜版破解版了!
  • Mipony 白馬下載器:網路下載必裝!支援數百免空可突破下載限制
  • Outline 來自 Google 全自動自架 VPN 安裝工具,突破中國網路封鎖限制
  • Spotify 免費聆聽 4000 萬首歌,音樂串流應用 iOS、Android 版下載
  • Peggo 終止服務!5 個 YouTube 轉檔下載替代方案推薦
  • 日本亞馬遜 AmazonGlobal 線上購物直送台灣,免消費稅免找代購
  • 中華郵政 i郵箱初體驗,24 小時自助郵局寄件取件超方便
  • YouTube Music 免費音樂串流服務正式登場,升級 Premium 零廣告體驗
  • Microsoft Edge 正式版免費下載!以 Chromium 重新打造微軟瀏覽器
  • 使用 eMask 線上預購口罩,健保卡或自然人憑證驗證可信用卡繳費
  • 口罩實名制 2.0 健保卡身分認證教學,以健保快易通 APP 線上預約口罩
  • Photopea 免費圖片編輯器,堪稱 Photoshop 線上版支援 PSD 等常見格式
  • 財政部統一發票兌獎 APP 掃描發票存手機,自動記帳主動對獎超方便
  • 使用健保卡+戶號線上查詢勞保勞退年資、應繳欠繳保費和退休金核發試算
  • 跨平台 Brave 瀏覽器免費下載!兼具速度與隱私相容 Chrome 擴充功能
  • YouTube Kids 兒童專用影音頻道,手機平板應用程式免費下載

贊助商連結

實用教學

  • 46個免費圖庫網站總彙整
  • 15個免費下載高解析度圖片最佳圖庫
  • 下載高畫質相片素材的13個免費圖庫資源精選
  • 12個你應該知道的中英文假字、文章產生器
  • 20個免費下載創用 CC 授權音樂的網站彙整
  • 40個設計師必備免費資源超推懶人包
  • Google 商家被留負評該檢舉刪除?或許業主更該做的是回應疑慮
  • Facebook 全新下載資料副本功能,一次備份所有臉書記錄匯出
  • Instagram 資料下載讓使用者完整備份相片影片、留言、訊息等個人記錄
  • 7 個線上接收手機簡訊驗證碼的免費網路服務整理
  • 如何重灌 Mac 電腦?重新安裝 macOS 自動更新為最新版本教學
  • PayPal 兩步驟驗證設定教學,以手機簡訊或應用程式降低被盜用風險
  • 以 YubiKey 實體安全金鑰設定 Google 兩步驟驗證教學

WordPress 架站資源

  • 搬家自架 WordPress 推薦的五個虛擬主機服務
  • 架站更上一層樓,我推薦的五個虛擬專屬主機(VPS)服務
  • WordPress Hosting 架站空間精選,最多人推薦的五個國外虛擬主機方案
  • 如何挑選一個適合你的虛擬主機服務?我參考的七個比較項目
  • 自架 WordPress 虛擬主機租用教學,將網誌備份匯出、匯入到新家
  • 在 WordPress 設定 HTTPS,強制使用 SSL 安全加密協定教學
  • 殺手級 WordPress 體檢項目:101 個建立新網站的超簡易捷徑!
  • Cloudflare 架站者必備免費 CDN、DNS 託管服務設定教學
  • 台灣用戶也能在 Google Domains 註冊購買網域名稱,詳細申請設定教學
  • 16 個免費網站速度測試工具推薦!網頁效能評比,搜尋引擎最佳化必備
  • 亞馬遜 VPS 服務 Amazon Lightsail 搭配 ServerPilot 快速架設 WordPress 教學
  • 165 個 WordPress 官方開發佈景主題設計 Jetpack 使用者免費下載
  • 使用 Google Cloud Platform 雲端主機免費版架設 WordPress 教學
  • 使用 Cloudways 架設 WordPress 網站教學,快速部屬最佳化環境
  • RunCloud 佈署最佳化主機環境,整合 DigitalOcean 架設 WordPress 教學
  • 使用 SiteGround 虛擬主機一鍵快速安裝 WordPress 教學
  • Cloudflare 變身域名註冊商,以最低價續費含免費 SSL、WHOIS 隱藏功能
  • FastComet 評價極高的虛擬主機推薦,一鍵安裝 WordPress 教學
  • VaultPress 完整備份你的 WordPress 網站,無痛搬家或回復特定時間點

贊助商連結

Managed WordPress Hosting
We Love Jetpack!
Stock Photos, Vectors and Royalty Free Images from 123RF

使用 WordPress 建置,最高級的語意化個人出版平台・關於本站・文章彙整・隱私權政策