0%

正威網路行銷工作室,專注於基隆、台北與全台客製化網頁設計,提供專業 RWD 響應式、SEO 搜尋引擎優化、品牌形象設計與網站維護託管服務。

搜尋文章
聯絡資訊
地址基隆市仁二路 220 號 5 樓
追蹤我們

WordPress 出現「You don't have permission to access」怎麼辦?403 錯誤的 6 個原因與解法

wordpress教學,代碼處理You don't have permission to access /wp-admin/post.php on this server.

在 WordPress 後台發表或修改文章、上傳圖片、儲存設定的時候,畫面突然變成一片白底黑字:

Forbidden — You don't have permission to access /wp-admin/post.php on this server.

中文意思是「你沒有權限存取這個伺服器上的 /wp-admin/post.php」,也就是常說的 403 錯誤。訊息裡的檔名也可能是 admin-ajax.php、async-upload.php(上傳圖片時)或其他後台檔案。

這個錯誤通常不是你的帳號權限不夠,而是主機或外掛把這次的操作擋了下來。下面依照最常見的順序整理原因。

先判斷:是主機擋的,還是 WordPress 擋的?

  • 白底黑字、英文的「Forbidden」:是主機伺服器擋下來的,看下面的原因一到五。
  • 在後台畫面裡、中文的「很抱歉,目前的登入身分沒有權限存取這個頁面」:是 WordPress 自己擋的,看原因六。

原因一:主機的防火牆(ModSecurity)誤判

這是最常見的原因,特別容易發生在:

  • 文章裡有程式碼、<script>、SQL 語法或特殊符號
  • 文章內容很長,或貼了很多外部連結
  • 上傳的檔名有特殊字元

主機的 ModSecurity 防火牆把這些內容誤判成攻擊,就直接拒絕了。

怎麼確認:先試著存一篇只有幾個字的短文章,如果可以存,大概就是內容觸發了防火牆。

怎麼解決:

  • 用 cPanel 的主機:控制台裡通常有「ModSecurity」選項,可以針對網域暫時關閉測試(測完記得打開)。
  • 最好的做法是聯絡主機商,告訴他們發生的時間與網址,請他們從防火牆記錄找出誤判的規則,只針對那條規則放行,而不是整個關掉。

舊教學的 SecFilterEngine 寫法已經沒用了

這篇文章舊版(以及原本另一篇同主題的文章)教大家在 .htaccess 加上:

Apache (.htaccess)
SecFilterEngine Off
SecFilterScanPOST Off

這是十幾年前 ModSecurity 1.x 的語法,現在的主機都是新版,這兩行不但沒有效果,還可能讓網站出現 500 錯誤。請不要再使用,如果之前加過,建議拿掉。

原因二:檔案或資料夾權限不對

網站搬家、用 FTP 上傳檔案之後,權限可能跑掉。WordPress 建議的權限是:

  • 資料夾:755
  • 檔案:644
  • wp-config.php:可以設更嚴格的 600 或 640(要確認主機能正常讀取)

用 FTP 軟體在檔案上按右鍵,通常有「檔案權限」可以修改;檔案很多的話,請主機商協助一次修正比較快。

原因三:安全性外掛擋住了

Wordfence、iThemes Security(Solid Security)、All In One WP Security 這類外掛,都有自己的防火牆。

  • 先暫時停用安全性外掛,再試一次。可以了的話,到外掛的設定裡找到被封鎖的記錄,把該操作加入允許清單。
  • Wordfence 剛安裝時有「學習模式」,會先觀察網站正常的操作,減少誤判。

原因四:.htaccess 裡的規則有問題

.htaccess 裡如果有封鎖 IP、限制後台存取的規則,寫錯就可能連自己都被擋。

  1. 用 FTP 把網站根目錄的 .htaccess 改名成 .htaccess-old。
  2. 到後台「設定 → 固定網址」按一次「儲存設定」,WordPress 會重新產生乾淨的 .htaccess。
  3. 問題解決的話,再把舊檔裡自己加的規則一條一條加回去,找出是哪一條造成的。

也要檢查 wp-admin 資料夾裡有沒有另外一個 .htaccess。常見的設定寫法可以參考.htaccess 用法大全。

原因五:CDN 或 Cloudflare 的防火牆

網站前面有 Cloudflare 之類的 CDN 時,它的防火牆(WAF)也可能擋下後台操作。到 Cloudflare 後台的「安全性 → 事件」查看被擋的記錄,針對 /wp-admin/ 路徑建立例外規則。

原因六:帳號角色權限不足

如果看到的是 WordPress 後台裡的「很抱歉,目前的登入身分沒有權限…」,才是帳號權限的問題:

  • 「作者」「投稿者」角色本來就不能修改別人的文章、不能管理外掛。
  • 請管理員到「使用者」頁面,確認你的帳號角色是否正確。
  • 如果連管理員都出現這個訊息,可能是某個外掛修改了角色權限,或資料庫裡的角色設定損壞,停用最近安裝的外掛再試。

還是找不到原因?

在出錯的頁面按 F12 打開開發者工具,切到「Network(網路)」分頁,重做一次出錯的動作,找到狀態碼 403 的那一筆,把時間、網址與畫面截圖給主機商,他們可以從伺服器記錄直接查出是哪一條規則擋的。

延伸閱讀

網站三不五時出現權限、防火牆問題,會讓編輯內容變成一件苦差事。正威網路行銷是 25 年經驗的基隆網頁設計工作室,也提供網站維護託管,有問題歡迎來聊聊。

分享這篇文章

返回文章列表更多「Wordpress代碼教學」文章

發表留言

還沒有人留言,歡迎第一個分享你的想法或問題。留言經審核後才會顯示,Email 不會公開。

讓我們一起打造
您的專屬網站!