發現網站被駭,第一步不是急著刪檔案,而是先把現況完整備份、記下時間與症狀,接著改掉所有密碼並聯絡主機商。清除時要找出被改過的檔案與後門、修補入侵的漏洞,再從乾淨備份還原;確認乾淨後,才到 Google Search Console 要求審查,並可向 TWCERT/CC 通報。
網站被駭的常見徵兆:不明轉址、日文垃圾頁與 Google 警告
很多入侵事件從表面看不出來,老闆自己打開首頁一切正常,訪客卻被導到別的網站。出現以下任何一種狀況,就要當成被駭處理:
- 不明轉址:從 Google 搜尋點進來,或用手機開啟時,被導到賭博、色情或其他陌生網站。Google 的說明指出,這類轉址常藏在 .htaccess 等伺服器設定檔裡,而且可能只針對特定來源、特定裝置或特定時段觸發,所以你自己測試時不一定看得到。
- 日文 SEO 垃圾頁:用 site:你的網域 搜尋,結果出現大量你沒建立過的日文頁面,常見於隨機命名的目錄,內容多是仿冒名牌商品的推銷連結。Google 把這稱為「日文關鍵字入侵」。
- 搜尋結果出現警告:Google 搜尋結果在你的網站下方顯示「這個網站可能已遭入侵」,代表 Google 認為有人修改了網頁或新增了垃圾頁面;若警告內容是網站可能損害訪客的電腦,則與惡意軟體有關。
- Search Console 通知:「安全性問題」報告列出被入侵的範例網址,或在擁有者清單裡出現你不認識的帳號。
- 主機商停權或警告信:主機商偵測到網站發送垃圾信、散布惡意程式或攻擊其他主機,暫停你的網站或寄出通知。
- 後台異狀:出現不認識的管理員帳號、沒裝過的外掛,或訪客反映防毒軟體擋下你的網站。
現在立刻做的事:先保存證據,不要先刪檔案
慌亂中最常見的錯誤,是看到可疑檔案就刪、直接按下還原。這樣會毀掉判斷入侵途徑的線索,也可能把網站弄壞卻沒清乾淨。請依序做:
- 先備份被駭的現況:把網站檔案與資料庫各匯出一份,標示為「已感染」,存到主機以外的地方。Google 與 WordPress 的官方說明都建議在清除前先留一份完整副本,萬一清理出錯還能回頭比對。
- 記錄症狀與時間:寫下你看到什麼、何時發現、最近做過哪些變更(裝新外掛、換佈景主題、交給誰改過),並截圖保存搜尋結果與警告畫面。知道入侵大約何時開始,才能判斷哪一份備份還是乾淨的。
- 改掉所有密碼:包括主機控制台、FTP/SFTP、資料庫、網站後台每一個管理員帳號,以及網域註冊商帳號。WordPress 網站另外更新 wp-config.php 裡的安全金鑰,強制所有已登入的人登出。改密碼前,先用防毒軟體掃描管理網站用的電腦,否則新密碼可能又被木馬側錄。
- 清查帳號:記下並停用不認識的後台使用者,也到 Search Console 檢查是否有陌生的擁有者。
- 聯絡主機商:說明狀況,詢問對方是否偵測到異常、能否提供存取紀錄,以及能否協助暫時下線。共用主機上的入侵有時不只影響你一個網站。
- 考慮暫時下線:Google 建議讓網站暫停服務,避免訪客繼續被導向惡意內容。暫停頁要由受感染的網站以外的地方提供,例如請主機商設定,或把網域暫時指向另一台主機上的維護頁;只在 robots.txt 擋爬蟲沒有保護訪客的效果。
清除步驟:找出被修改的檔案、移除後門、從乾淨備份還原
清除的目標有兩個:移除駭客加入的所有東西,並且關閉當初讓他進來的漏洞。只刪掉看得到的垃圾頁,後門還在,很快就會再被入侵。Google 的說明引用一項研究,指出有 20% 的被駭網站在一天內再次被駭。
找出被修改的檔案與後門
- 找出網站所有 .htaccess 檔案(包含子目錄裡的隱藏檔),檢查是否有轉址規則或指向外部網址的錯誤頁設定,再換成系統預設的乾淨版本。
- 找出修改時間接近入侵時間的檔案、不屬於系統原有的 PHP 檔,以及體積異常大的檔案。index.php、wp-load.php、header.php、footer.php、404 錯誤頁都是常被植入程式碼的位置。
- 搜尋混淆過的程式碼,例如一長串亂碼搭配 base64_decode、eval、gzinflate 等函式,這是後門的常見寫法。
- 檢查資料庫:文章或設定欄位裡是否被塞入 iframe、外部 script 或垃圾連結。
- 檢查 sitemap,刪除駭客加入的垃圾網址;駭客建立的頁面應回應 404。
依備份狀況選擇還原方式
| 你的狀況 | 建議做法 |
|---|---|
| 有入侵前、且很新的乾淨備份 | 還原備份,接著立刻更新系統、外掛與佈景主題,移除沒在用的外掛,修補漏洞後再改一次密碼。 |
| 有乾淨備份,但比較舊 | 先保存一份已感染的副本,還原舊備份並全部更新,再把兩份逐一比對,只把確認乾淨的新內容搬回來。 |
| 完全沒有備份 | 備份兩份已感染的現況,在副本上清理檔案與資料庫,確認乾淨後再重新安裝系統、搬入乾淨內容。 |
重新安裝核心與外掛:WordPress 官方建議用 SFTP 上傳同版本的乾淨檔案,直接取代 wp-admin 與 wp-includes 目錄,而不是用後台的「重新安裝」按鈕,因為後者通常只覆蓋既有檔案,駭客新增的檔案會留下來。外掛與佈景主題請從官方來源重新下載,來路不明的「免費破解版」付費外掛本身就可能夾帶惡意程式。
清完之後,用無痕視窗、手機與不同網路再測一次,也用 site: 搜尋確認垃圾頁已回應 404。全部確認後,再把所有密碼重新改一次。
Google Search Console:安全性問題報告與要求審查流程
Google 的「這個網站可能已遭入侵」標示,要等你在 Search Console 完成審查才會移除。尚未驗證網站擁有權的話,先完成驗證。
- 打開「安全性問題」報告:報告會列出問題類型,例如遭入侵內容、程式碼插入、內容插入、網址插入、惡意軟體、欺騙性網頁等,並附上範例網址。
- 修正所有受影響的網頁:Google 提醒範例網址只是一部分,要修正的是全部受影響的頁面,不只是列出來的那幾頁。
- 確認 Google 抓得到乾淨的頁面:首頁與原本被改過的網址都要能被 Googlebot 檢索,不能被 robots.txt 或 noindex 擋住。
- 按下「要求審查」並說明修正內容:具體寫出你移除了什麼、更新了哪個外掛、修補了什麼漏洞。審查開始與結束時,Google 會各寄一封通知信。
- 耐心等待,不要重複送出:審查還在進行時重複提出,可能讓等待時間更長,網站也可能被視為一再違規。問題沒修好就送審,只會延長網站被標示為危險的時間。
| 問題類型 | Google 說明的處理時間 |
|---|---|
| 遭入侵並被植入垃圾內容 | 可能長達數週 |
| 惡意軟體 | 數天 |
| 網路釣魚 | 約一天 |
Google 也說明,審查確認網站已乾淨後,瀏覽器與搜尋結果上的警告會在 72 小時內移除。實際時間依個案而定,Search Console 說明頁的整體描述是「幾天至幾週」。
向 TWCERT/CC 通報資安事件
TWCERT/CC(台灣電腦網路危機處理暨協調中心)提供一般企業的資安事件通報服務。通報不是清除網站的前提,但可以讓專責單位掌握攻擊情資,遇到需要協調的情況時也多了一個窗口。
- 線上通報:在 TWCERT/CC 官網的「資安通報」選擇「一般企業 資安通報」,流程依序是同意個資聲明、填寫事件內容、確認表單、完成通報。官網說明,若通報身分是政府機關或學術單位,會被轉到該類型負責的通報網站。
- 電子郵件:官網列出的企業資安事件通報信箱為 [email protected]。
- 網站被用來釣魚:若被植入的是假冒登入頁或釣魚網頁,TWCERT/CC 另有網路釣魚通報管道。
通報前,把前面記錄的資料整理好:發現時間、症狀、受影響的網址、截圖、已採取的處置,以及主機商回覆的內容。描述越具體,越有助於對方判斷。
另外,若網站有會員註冊、聯絡表單或訂單等蒐集個資的功能,除了技術處理,另需評估是否有個資外洩的通報義務。
清除後的預防:更新、最小權限、雙重驗證、WAF 與定期備份
Google 整理的常見入侵途徑,包括密碼被破解、沒更新、使用不安全或已停止維護的外掛,以及權限開太大。預防就從這幾點下手:
- 持續更新:網站系統、外掛、佈景主題都保持最新版,能開自動更新就開;不再使用的外掛直接刪除,不要只是停用。
- 最小權限:只給真正需要的人管理員權限,外包廠商用獨立帳號、結案就移除。WordPress 官方建議目錄權限設為 755、檔案 644,wp-config.php 只讓網站本身讀取,並可在 wp-config.php 加入 DISALLOW_FILE_EDIT 關閉後台直接編輯程式碼的功能。
- 雙重驗證:網站後台、主機控制台、網域註冊商、Search Console 所用的 Google 帳號都開啟兩步驟驗證,每個帳號用不同的長密碼。
- WAF(網站應用程式防火牆):在流量到達網站前先過濾常見攻擊,可用安全外掛、伺服器層的 WAF,或前端的反向代理服務。若網站同時常遇到大量惡意流量,可一併評估 DDoS 防護。
- 定期備份:自動備份檔案與資料庫,至少保留一份在主機以外的地方,並定期試著還原。備份要保留多個時間點,才有機會找到入侵前的版本。
- 主機環境:選擇有隔離、可回溯備份與安全更新機制的主機。WordPress 網站可以參考 WordPress 主機,一般網站可以參考 虛擬主機 的規劃方式。
如果不確定網站是否已清乾淨、該先處理哪一步,也可以透過 聯絡表單 請我們協助評估。
常見問題
網站被駭,直接整站刪掉重做可以嗎?
可以,但重做前仍要先找出入侵途徑。若漏洞來自弱密碼、被木馬感染的電腦或同一套有問題的外掛,新網站一樣會再被入侵。舊網站的資料庫也不要整包搬回,只搬確認乾淨的內容。
我自己打開網站很正常,為什麼 Google 說被入侵?
很多入侵會刻意隱藏,只對搜尋引擎爬蟲、從 Google 點進來的訪客或手機使用者顯示垃圾內容或轉址。可以用 site: 搜尋與 Search Console 的網址檢查工具,查看 Google 實際看到的內容。
要求審查被拒絕怎麼辦?
代表 Google 仍偵測到問題。回到安全性問題報告看最新的範例網址,檢查是否還有漏掉的頁面、資料庫內容或後門,修正後再送一次。不要在問題未解決前反覆送審。
清除之後,網站的搜尋排名會恢復嗎?
警告標示會在審查通過後移除,但排名受很多因素影響,無法保證回到原本位置。Google 的說明提到,短暫下線處理一般不太會影響排名;駭客建立的垃圾網址回應 404 後,也會逐漸從搜尋結果消失。
延伸閱讀
參考資料
- Google Search Console 說明:安全性問題報告(查閱日期:2026-10-17)
- Google 搜尋說明:「這個網站可能已遭入侵」訊息(查閱日期:2026-10-17)
- web.dev:Help, I think I've been hacked(Google 被駭網站指南)(查閱日期:2026-10-17)
- web.dev:How do I know if my site was hacked?(查閱日期:2026-10-17)
- web.dev:Quarantine your site(查閱日期:2026-10-17)
- web.dev:Fix the Japanese keyword hack(查閱日期:2026-10-17)
- web.dev:Hacked with malware(查閱日期:2026-10-17)
- web.dev:Identify the vulnerability(查閱日期:2026-10-17)
- web.dev:Clean and maintain your site(查閱日期:2026-10-17)
- web.dev:Request a review(查閱日期:2026-10-17)
- web.dev:Top ways sites get hacked by spammers(查閱日期:2026-10-17)
- WordPress.org Documentation:FAQ My site was hacked(查閱日期:2026-10-17)
- WordPress Advanced Administration:Hardening WordPress(查閱日期:2026-10-17)
- TWCERT/CC:一般資安通報(查閱日期:2026-10-17)
- TWCERT/CC:資安通報(查閱日期:2026-10-17)