WordPress 安全設定:三個網址,看出你的網站正在對外說什麼

WordPress 預設會對外公開作者帳號與程式版本。三個網址花 30 秒自己查,附免費檢查工具,也說清楚擋完之後為什麼還不算安全。

網站被入侵,多數時候不是因為有人盯上你,而是自動化程式掃過一整排網站,挑出資訊最齊全的那幾個。

WordPress 預設會對外公開兩件事:誰是這個網站的作者、這個網站用的是哪一版程式。這兩項湊起來就是篩選名單的依據,也是 WordPress 安全設定裡最常被漏掉的一塊。

下面的工具會把要檢查的網址整理成可以直接點的連結,花 30 秒查完,有問題的部分交給維護網站的人處理。

先查,再往下讀

這個工具只做一件事:把你的網域接上要檢查的路徑,變成可以直接點開的連結。判斷還是你自己看,每一項下面都寫了看到什麼算正常、看到什麼要處理。

它不會把你輸入的網址送到任何地方,也不會自動去讀取你的網站。瀏覽器本來就不允許一個網站去讀另一個網站的內容,所以「自動判定過或沒過」這件事,這個工具刻意不做。

檢查要用無痕視窗,或先登出後台。有些防護只擋沒登入的人,你登入著去點,網站會放行,看起來像沒擋住。

先開無痕視窗再查。你如果登入著自己網站的後台,有些網站會認得你是管理員,讓你看到外人看不到的內容,查出來的結果就不準。

例如 example.com,直接貼首頁網址也可以

只在你自己的瀏覽器裡組字串,不會送出任何資料,我們也收不到你查了什麼。

這三個地方,各自洩漏了什麼

一、你的登入帳號

WordPress 內建一組公開的資料介面,路徑是 /wp-json/wp/v2/users。它原本的用途是讓網站自己的前端去讀作者資料,但在預設狀態下,沒有登入的人也讀得到,回應內容包含每個作者的顯示名稱與代稱。另一條路是在網址後面加 ?author=1,如果網站沒有處理,它會直接轉址到 /author/某個代稱/,代稱就出現在網址列上。

麻煩的是,多數人的作者代稱就是登入帳號。

登入需要帳號和密碼兩樣。帳號先被看走,對方只剩密碼要處理,而密碼不是人在猜的。WordPress 官方把用暴力破解猜密碼列為最常見的兩類攻擊之一〔1〕,另外開了一整頁說明〔2〕。官方同時要求不要用 admin、webmaster 這類好猜的帳號,理由寫得很直白:這些帳號通常最先被攻擊〔1〕。

反過來說,帳號不被知道,這一整類攻擊的第一步就不成立。

二、你的程式版本

2026-09-17 更正

這一段原本寫 /readme.html 和 /license.txt 會寫出 WordPress 版本號,這是 2017 年以前的情況,現行版本的這兩個檔都不寫版本號。

已經擋掉 readme.html 的網站不用拆,它仍然列出 PHP 與 MySQL 的最低需求,風險低,但沒必要公開。請用上方的檢查工具再查一次第 ② 項,網址已經換成現行版本真正會寫出版本號的地方。

/readme.html 和 /license.txt 是 WordPress 安裝時附的兩個檔案。它們沒有機密內容,但會寫出這個網站跑的是哪一版。

現行版本的 WordPress,版本號寫在 /wp-links-opml.php。這是一頁大約十行的連結清單資料,裡面預設有一行 <!-- generator="WordPress/6.8" -->。

版本號還會出現在 /feed/ 最上面那一段,和首頁的原始碼裡。三個地方是同一個開關,關一次就全部消失。如果上面那個連結打不開,想再確認,可以點開 /feed/,看第一篇文章標題之前有沒有 wordpress.org/?v=數字。

至於 /license.txt,裡面只有授權條款和著作權年份,頂多看得出大概是哪個年代的版本。

版本號本身不是問題,問題在於舊版有哪些漏洞是公開資料。WordPress 官方說明過這個機制:漏洞修好、新版發布之後,利用該漏洞所需要的資訊幾乎一定會進入公開領域,這正是舊版特別容易被攻擊的原因〔1〕。

等於你在門口貼了一張紙,寫著這扇門用的是哪一款鎖、哪一年出的。有心人不用試,查一下就知道該帶哪支工具。

三、除錯記錄與搬站留下的備份檔

/wp-content/debug.log 是 WordPress 的除錯記錄。網站出過狀況時,有人會把除錯模式打開來找原因,事後常常忘記關掉。這個檔會留下主機上的完整資料夾路徑與錯誤訊息,路徑裡常常就帶著外掛的資料夾名稱。

這一項官方講得比我們還直接。官方的 wp-config.php 設定文件寫明預設的除錯記錄就放在 /wp-content/debug.log,並且加了一句:把錯誤記錄放在公開可存取的位置,本身就是一種資安風險〔5〕。另一份除錯專用的文件也說明,除錯工具是給本機測試和測試站用的,不建議用在正式營運的網站上〔3〕。

/wp-config.php.bak 則是搬站或改設定時留下的備份。正常的 wp-config.php 會被伺服器當成程式執行,內容不會顯示出來;但檔名結尾一旦變成 .bak、.old、.txt,伺服器就不再把它當程式,而是當成一般文字檔直接送出去。

這個檔裡有什麼?資料庫的名稱、使用者帳號、密碼與主機位址,這四個設定就定義在裡面〔4〕。

WordPress 官方對這個檔的要求是:擋掉外部存取,並且把權限設成只有你和伺服器讀得到〔1〕。

查出來有問題,要請人做什麼

這三項都是 WordPress 安全設定層面的調整,不用改版面,也不會影響現有內容。把下面這段轉給維護網站的人就可以。

第一項:關閉使用者列舉。作法是攔截未登入狀態下對 /wp-json/wp/v2/users 的請求,並且擋掉 ?author= 的轉址。同時進後台把作者代稱改成與信箱、登入帳號無關的字。

第二項:關掉版本號輸出。做法是用 the_generator 濾鏡回傳空字串,/wp-links-opml.php、/feed/ 和首頁原始碼三處會一起關掉。之前已經擋掉 readme.html、license.txt 的規則留著,不用拆。

第三項:在 .htaccess 最上方加一段 FilesMatch 規則,把 debug.log 與 .bak、.old 結尾的檔案擋成 403,要寫在 WordPress 自動管理的區塊之外,否則會被覆寫掉。同時確認 wp-config.php 裡的除錯模式是關的。備份檔最好是直接刪除,不要只擋。

如果沒有人可以問,這件事我們可以幫忙處理。WordPress 建站與其他服務都整理在服務頁,也歡迎直接來信聊聊你的網站。

擋完之後,網站就安全了嗎

不是。這一節比上面三項都重要。

WordPress 官方文件裡有一節標題叫 Security through obscurity,第一句就寫:把資訊藏起來,作為主要的安全策略通常站不住腳〔1〕。它接著才承認,某些地方藏一下確實有幫助,舉的例子是別用好猜的帳號、改掉資料庫的資料表前綴。

換句話說,這三項檢查做的是減少你主動送出去的資訊,不是把門鎖變牢。門鎖本身的強度是另外三件事:程式保持在最新版、密碼夠長夠亂、後台開兩步驟驗證。官方把保持在最新版講了不只一次,因為舊版的漏洞是公開的〔1〕。

所以工具三項全綠,意思是你沒有主動把資訊送出去,不等於你的網站安全,兩件事不要混在一起。

會這樣提醒,是因為工具型的檢查清單很容易讓人產生錯誤的安心感。查完三項打完勾,就覺得這件事處理完了,反而不去做真正有效的那三件。

常見問題

我點開這些網址,會對我的網站造成影響嗎?

不會。這幾個網址本來就是對外公開的,任何人都打得開,你自己點開和陌生人點開沒有差別。這個工具只是把它們整理出來,沒有做任何寫入或測試的動作。

我的網站不是 WordPress,也適用嗎?

第一項和第二項是 WordPress 特有的路徑,其他系統不適用。第三項的概念適用於所有網站:除錯記錄和備份檔不應該放在網站根目錄下讓人直接下載。

三項都正常,是不是代表我的網站沒問題?

代表這三個最常見的資訊外洩點已經擋住了。整體的安全性取決於程式有沒有更新、密碼強不強、有沒有開兩步驟驗證,這三件事比藏資訊重要得多。

擋掉這些會不會影響網站功能?

不會影響前台顯示或後台操作。要注意的是,如果你的網站有外部服務靠 REST API 讀寫內容,關閉使用者列舉時要確認是針對未登入的請求,已授權的程式不受影響。

資料來源

更正記錄

2026-09-17:「你的程式版本」一節原寫 /readme.html 與 /license.txt 會寫出版本號,已改為現行版本實際寫出版本號的 /feed/ 與首頁原始碼,檢查工具與修法第二、三項同步更新。另修正三處引用與描述:「公開位置是資安風險」一句的出處改為〔5〕,「兩類攻擊」一句只對應〔1〕,除錯記錄的內容描述改得更精確。感謝 Threads 讀者指正。

2026-09-17(晚間第二次):檢查工具第 ② 項改用 /wp-links-opml.php,/feed/ 改為打不開時的備用;工具與「先查,再往下讀」加上用無痕視窗檢查的提醒。

分享這篇
Sabrina
Sabrina
文章: 9
立即詢價