快速答案:這是典型的惡意轉址感染:植入的程式只對手機、或只對從 Google 點進來的訪客生效,站長自己用電腦打開一切正常,所以常常是客人先發現。用手機無痕模式、從 Google 搜尋結果點進去重現,再從佈景主題檔、資料庫、上傳目錄找注入的程式碼。
為什麼會這樣 #
怎麼知道有問題 #
客人回報點進網站跳到博弈、色情、假防毒或「你的手機中毒了」頁面;手機看首頁會冒廣告;首頁變成一堆亂碼;某幾頁會導向不明網址;Google 搜尋結果下方標「此網站可能遭駭客入侵」;Search Console 收到安全性問題通知。
程式藏在哪 #
攻擊者要的是流量,不是你,所以刻意避開站長:判斷 User-Agent 是手機、Referer 來自搜尋引擎、或不是登入狀態才轉址。注入位置很固定:佈景主題的 header.php、footer.php 或 functions.php 裡一段混淆過的 JavaScript;資料庫 wp_options 的網站網址被改、或小工具內容被塞程式;文章內文;wp-content/uploads 裡不該存在的 .php;.htaccess 多了針對 User-Agent 的 RewriteCond。快取外掛存下來的靜態頁也會保存感染後的 HTML。
怎麼處理 #
- 重現:手機關 Wi-Fi 用行動網路,開無痕,從 Google 搜尋自己的站點進去。能重現才好驗證有沒有清乾淨。
- 看網頁原始碼:搜尋
eval、base64_decode、String.fromCharCode、不認識的外部 script 網址。 - 檢查「設定 → 一般」的網站網址;比對 .htaccess;看佈景主題檔案的修改時間;列出 uploads 裡所有 .php。
- 跑主機商的惡意程式掃描和 Wordfence 掃描,並用
wp core verify-checksums比對核心檔案有沒有被改。 - 從乾淨備份還原是最快的路,但先把現況另存一份留作比對,並確認備份日期在感染之前,而且還原後要立刻補漏洞、換密碼,否則同一個洞會再被打一次。
- 清所有快取(含 CDN),再用第一步的方式測一次。
我們實際遇過的情況 #
一家客戶回報手機看首頁會跳到奇怪網址,請主機商排查處理;一週後又有某個頁面導向不明頁面——同一個問題換個地方冒出來,代表第一次沒有找到根源。另一家客戶是被植入廣告,一家店家則是頁面連結會跳到奇怪頁面。
2026 年上半年有好幾家客戶在主機商的惡意程式掃描後拿到處理報告,我們接手做後續的外掛更新和加固,這才是讓它不再發生的部分。也有反例:一家客戶請主機商掃毒,結果查無病毒,那次「怪怪的轉址」其實是某支外掛的正常行為。
什麼時候該找人 #
清了又回來、找不到來源、Google 已經標紅。時間拖越久,排名和訪客信任掉得越多,而且每多一天攻擊者就多一天留後門的機會。
WPTOOLBEAR網站工具熊