網站後台存文章跳 404?可能不是網址壞了,是內容被防火牆攔下來

網站後台儲存文章時出現 404,實際排查發現是 FAQ 內容裡的 PHP 錯誤訊息觸發 WAF/ModSecurity 攔截。益盛科技分享完整排查順序與另外兩個常被忽略的檢查點。

畫面看起來完全不像資安攔截,這才是最麻煩的地方。

客戶的網站後台儲存文章時突然跳 404。第一反應通常是網址壞掉、外掛衝突或主機出問題,但這次查下去,問題出在文章內容本身。

最可疑的地方:FAQ 裡原封不動放了一段 PHP 錯誤訊息

文章裡的 Q11,內容原封不動貼了一段:

這類包含syntax error、unexpected、T_VARIABLE、特殊符號的內容,很容易被 WAF(Web Application Firewall)或 ModSecurity 判定成程式碼注入探測或錯誤訊息洩漏,直接觸發攔截規則。

結果是:文章內容沒問題,後台操作也正常,但按下儲存的那一刻,POST 請求直接被防火牆擋掉,畫面上只看到一個很像 404 的攔截頁。不會有紅字警告,不會提示「這是資安攔截」,看起來就是一個普通的網址錯誤。

這種問題最麻煩的地方,就是畫面看起來完全不像資安攔截。找錯方向,可能花好幾個小時查網址、查外掛、查資料庫,都查不到重點。

另外兩個要一起檢查的地方

標籤。雖然是標準 HTML 標籤,但 Joomla 的文字篩選設定如果比較嚴格,還是可能在儲存時被移除,造成問答區塊的結構跑掉。這種情況不會跳 404,而是儲存後內容悄悄變樣,更不容易第一時間發現。

檔案大小限制。這篇文章約 47KB,通常不至於超過 post_max_size 的預設限制,但如果主機有客製化的欄位長度限制,也不能完全排除這個可能性,排查時順手確認一下。

這次怎麼處理的

先把容易觸發 WAF 的錯誤訊息內容改寫(例如拆開特殊符號、避免完整還原成看起來像程式碼片段的格式),再重新儲存測試,問題排除。

如果重新儲存還是失敗,照這個順序查

  1. 先用 Super User 帳號測試,排除權限問題
  2. 檢查 Joomla 的文字篩選器設定,確認允許的標籤範圍
  3. 查 Cloudflare 或主機端 WAF 的攔截紀錄,確認是不是真的被擋
  4. 最後才查快取、CDN、文章別名(Alias)重複這類比較常見但這次不是主因的問題

把資安攔截排在權限和文字篩選器之後,是因為多數情況下 404 真正的原因還是比較單純的設定問題。但如果前面幾項都排除了,內容裡有沒有貼到不該貼的技術訊息,就該優先懷疑。

結論

網站後台出現 404,有時候真正被擋的不是網址,而是你貼進文章裡的某一行文字。技術文章、錯誤訊息截圖、程式碼片段這類內容,貼進 CMS 之前最好先想一下:這段文字看起來像不像攻擊探測?寧可多一道轉換或說明文字,也不要讓防火牆誤判擋在儲存那一關。

網站後台出問題,找不到原因?

益盛科技提供網站維護、Joomla/WordPress 後台排查與主機環境檢測服務。

LINE 諮詢 查看 AI SEO 服務 查看 網頁設計 服務 查看 品牌電商 服務
LINE