Sáng ra mở web lên thấy trang chủ hiện một dòng chữ lạ kiểu "Hacked by ai đó", hoặc tệ hơn là khách gọi điện báo bấm vào web thì bị nhảy sang trang cờ bạc, thuốc lậu — cảm giác lúc đó đúng là tim rớt xuống chân. Mình gặp tình huống này nhiều lần với khách rồi, và điều đầu tiên mình luôn nói là: bình tĩnh, đừng tắt máy đập bàn, vì cách xử lý web bị hack có quy trình rõ ràng, làm đúng thứ tự thì gần như site nào cũng cứu được, kể cả khi bạn không rành kỹ thuật.
Bài này mình viết theo đúng cách mình xử lý thực tế cho khách: từ lúc phát hiện, cô lập đám cháy, dọn sạch, cho tới khôi phục và bịt lỗ hổng để nó không quay lại. Mình cố gắng nói bằng ngôn ngữ đời thường nhất có thể, chỗ nào buộc phải dùng thuật ngữ thì mình giải thích ngay trong ngoặc. Bạn cứ đọc hết một lượt rồi làm theo, đừng nhảy cóc — vì làm sai thứ tự (ví dụ vội khôi phục mà chưa bịt lỗ hổng) thì hack lại ngay sau vài tiếng.
Làm sao biết web bị hack thật, hay chỉ là lỗi vặt
Trước khi hốt hoảng, cần phân biệt: web bị hack khác với web bị lỗi kỹ thuật bình thường. Không phải cứ trang trắng xoá là bị hack — nhiều khi chỉ là lỗi PHP, hết dung lượng hosting (nơi lưu trữ web), hoặc plugin (tiện ích cài thêm) đánh nhau.
Đây là những dấu hiệu mình hay gặp khi site thật sự bị tấn công:
- Web tự nhảy (redirect — chuyển hướng tự động) sang trang lạ: cờ bạc, thuốc, web nước ngoài.
- Trang chủ bị thay nội dung, hiện dòng chữ "hacked", cờ, nhạc lạ.
- Google báo "Trang web này có thể gây hại cho máy tính của bạn" khi khách bấm vào.
- Trong kết quả tìm kiếm Google, tiêu đề web của bạn lại hiện chữ tiếng Nhật, tiếng Trung, hoặc rao bán thuốc — đây là kiểu tấn công "Japanese keyword hack" rất phổ biến.
- Hosting gửi mail báo phát hiện mã độc (malware — phần mềm độc hại), hoặc khoá tài khoản vì gửi spam.
- Bạn không đăng nhập được vào trang quản trị dù mật khẩu đúng, hoặc thấy có tài khoản admin lạ.
- File lạ xuất hiện trong thư mục web, dung lượng hosting phình to bất thường.
Một mẹo nhanh: mở trình duyệt ở chế độ ẩn danh (incognito) rồi gõ vào Google cú pháp site:tenmiencuaban.com. Nếu thấy hàng loạt trang rác mà bạn không hề tạo (kiểu bán thuốc, cờ bạc), gần như chắc chắn web đã bị nhúng nội dung độc. Bạn cũng nên thử mở web bằng điện thoại dùng 4G (không dùng wifi nhà), vì có loại mã độc chỉ kích hoạt khi truy cập từ thiết bị lạ.
Việc đầu tiên: cô lập đám cháy, đừng để lan rộng
Khi đã xác định bị hack, đừng vội dọn ngay. Việc đầu tiên là chặn thiệt hại lan thêm — giống như cháy nhà thì ngắt điện trước đã. Mình thường làm theo trình tự sau, và đây là phần quan trọng nhất của toàn bộ cách xử lý web bị hack nên bạn đọc kỹ.

Cụ thể từng việc trong bước cô lập:
Đổi hết mật khẩu. Đây là việc bắt buộc đầu tiên. Đổi mật khẩu tài khoản hosting/cPanel, đổi mật khẩu tất cả tài khoản admin của web, đổi mật khẩu FTP (giao thức truyền file lên web), và đặc biệt đổi mật khẩu database (cơ sở dữ liệu — nơi lưu bài viết, người dùng). Nhiều người dọn sạch mã độc xong nhưng quên đổi mật khẩu, thế là hacker vẫn còn chìa khoá vào nhà, vài tiếng sau hack lại.
Bật chế độ bảo trì. Tạm cho web hiện trang "đang bảo trì" để khách không nhìn thấy nội dung bẩn, và quan trọng hơn là để Google ngừng thu thập (crawl) thêm các trang rác mà hacker tạo ra. Nếu để lâu, Google index (lập chỉ mục — đưa trang vào kết quả tìm kiếm) cả nghìn trang spam thì sau này dọn rất mệt.
Báo cho nhà cung cấp hosting. Gọi hoặc gửi ticket cho hosting báo bị hack. Họ có log (nhật ký truy cập) và nhiều khi có công cụ quét mã độc ở phía máy chủ, hỗ trợ được kha khá. Đừng ngại — đây là việc họ gặp hằng ngày.
Sao lưu trước khi đụng vào bất cứ thứ gì
Nghe có vẻ ngược đời — web đang bẩn mà còn backup làm gì? Nhưng mình luôn làm bước này, vì hai lý do.
Thứ nhất, bản sao lưu hiện trạng là bằng chứng. Nếu sau này cần điều tra hacker vào bằng đường nào, file log và mã độc còn nguyên sẽ giúp tìm ra lỗ hổng. Xoá sạch ngay là mất manh mối, dễ bịt nhầm chỗ.
Thứ hai, trong quá trình dọn, rất dễ lỡ tay xoá nhầm file quan trọng làm web sập hẳn. Có bản gốc để đối chiếu thì lúc đó còn đường lùi (rollback — quay lại bản trước). Bạn tải cả hai phần: mã nguồn (toàn bộ thư mục web qua FTP hoặc trình quản lý file của hosting) và database (xuất ra file .sql qua phpMyAdmin). Đặt tên file rõ ràng kèm ngày, ví dụ backup-truoc-khi-don-2026-06-14.
Nếu bạn có sẵn bản backup sạch từ trước khi bị hack (nhiều hosting tự backup hằng ngày), thì xin tốt nhất. Nhưng đừng vội khôi phục đè ngay bản cũ đó — vì nếu lỗ hổng vẫn còn (ví dụ một plugin có lỗi bảo mật), khôi phục xong vẫn bị hack lại. Bản backup sạch chỉ là nguyên liệu, còn phải bịt lỗ hổng song song. Mình sẽ nói rõ ở phần sau.
Dọn sạch mã độc: tìm và diệt
Đây là phần "đổ mồ hôi". Mục tiêu là loại bỏ mọi dấu vết hacker để lại: file lạ, đoạn code chèn vào file gốc, và "cửa hậu" (backdoor — đoạn code cho hacker quay lại dù bạn đã đổi mật khẩu).
Với web WordPress (phần lớn web giá rẻ hiện nay dùng nền này), mình làm theo cách an toàn nhất là thay sạch phần lõi:
Tải nhân WordPress mới từ trang chính thức wordpress.org, xoá hết các thư mục
wp-adminvàwp-includescũ rồi up bản mới đè lên. Hai thư mục này là phần lõi, không chứa nội dung của bạn nên thay thoải mái — đây là nơi mã độc hay núp.Cài lại theme và plugin từ nguồn gốc. Xoá hết theme/plugin đang có, cài lại bản sạch tải từ kho WordPress hoặc từ nhà phát triển chính thức. Tuyệt đối không cài lại plugin/theme lậu (nulled — bản bẻ khoá) — 90% web khách mình cứu bị hack là vì xài theme lậu có nhúng sẵn mã độc.
Soi file
wp-config.phpvà thư mụcwp-content/uploads. File cấu hìnhwp-config.phphay bị chèn code lạ ở đầu hoặc cuối. Thư mục uploads lẽ ra chỉ chứa ảnh, nếu thấy file.phpnằm trong đó thì gần như chắc chắn là mã độc — xoá đi.Quét bằng plugin bảo mật. Cài một plugin uy tín như Wordfence hoặc Sucuri, chạy quét toàn bộ. Nó sẽ chỉ ra file nào bị sửa khác bản gốc, file nào nghi là mã độc. Đây là trợ thủ đắc lực cho người không rành code.
Kiểm tra database. Vào phpMyAdmin xem bảng
wp_userscó tài khoản admin lạ không, bảngwp_optionscó đoạn script lạ chèn vào mụcsiteurlhay header không. Xoá tài khoản lạ, dọn đoạn chèn.
Dưới đây là checklist mình dùng để rà cho chắc, không bỏ sót chỗ nào:

Làm xong bước này, đừng vội mừng. Phải chắc chắn đã xoá hết backdoor, vì chỉ cần sót một file cửa hậu là hacker quay lại được. Cách kiểm tra đơn giản: sau khi dọn, theo dõi vài ngày xem có file lạ tự sinh ra lại không. Nếu có, nghĩa là còn sót cửa hậu, phải quét lại.
Khôi phục web và bịt lỗ hổng để không tái nhiễm
Dọn sạch rồi thì đưa web trở lại hoạt động. Nhưng mình nhấn mạnh: bịt lỗ hổng quan trọng hơn việc khôi phục. Rất nhiều người làm ngược — vội bật web lên cho khách xem, quên gia cố, rồi tuần sau ngồi dọn lại từ đầu.
Để dễ hình dung sự khác nhau giữa làm cho có và làm cho dứt điểm, mình để bảng so sánh này:

Những việc cần làm để bịt lỗ hổng:
Cập nhật tất cả lên bản mới nhất. Phần lớn web bị hack vì xài WordPress, theme hoặc plugin phiên bản cũ có lỗ hổng đã được công bố. Hacker dùng công cụ tự động quét hàng loạt web rồi chui vào qua lỗ đó. Cập nhật hết là bịt được phần lớn cửa.
Gỡ những thứ không dùng. Plugin, theme cài rồi bỏ đó không xoá vẫn là cửa ngõ tấn công. Cái nào không dùng thì gỡ hẳn, đừng chỉ tắt.
Lắp tường lửa (firewall). Một plugin bảo mật như Wordfence có tường lửa giúp chặn các lượt dò quét độc hại ngay từ cổng. Với người không rành kỹ thuật, đây là lớp bảo vệ đáng giá nhất so với công sức bỏ ra. Mình có viết riêng các nguyên tắc nền tảng trong bài bảo mật website cơ bản, bạn nên đọc thêm để hiểu vì sao những thói quen nhỏ lại quyết định an toàn của cả web.
Bật sao lưu tự động. Cài lịch backup tự động hằng ngày hoặc hằng tuần, lưu ra nơi khác (Google Drive, Dropbox). Lần sau có sự cố thì khôi phục trong vài phút thay vì ngồi dọn cả ngày. Đây cũng là một phần của việc quản trị website bài bản mà mình luôn khuyên khách duy trì đều đặn.
Xin Google gỡ cảnh báo. Nếu web từng bị Google gắn nhãn "có hại", sau khi dọn sạch bạn vào Google Search Console (công cụ theo dõi web trên Google của bạn) ở mục "Vấn đề bảo mật", bấm yêu cầu xem xét lại. Google sẽ quét lại và gỡ cảnh báo trong vài ngày. Nếu bạn chưa cài công cụ này, mình có hướng dẫn từng bước trong bài cài Google Search Console — đây là thứ bắt buộc phải có cho mọi web.
Khi nào nên tự làm, khi nào nên nhờ người
Thành thật mà nói: nếu web chỉ là blog nhỏ, bị hack kiểu chèn vài trang rác, bạn hoàn toàn tự xử được theo các bước trên trong một buổi chiều. Plugin bảo mật ngày nay làm phần khó nhất giúp bạn rồi.
Nhưng có những trường hợp mình khuyên nên nhờ người rành kỹ thuật: web bán hàng có dữ liệu khách hàng (liên quan trách nhiệm pháp lý nếu lộ thông tin), web bị hack đi hack lại nhiều lần (chứng tỏ lỗ hổng sâu, cần điều tra log kỹ), hoặc web nhúng mã độc tinh vi mà quét mãi không sạch. Lúc đó cố tự làm mà không đủ kinh nghiệm dễ làm sập luôn web, mất dữ liệu.
Bên mình làm web giá rẻ nhưng vẫn nhận hỗ trợ cứu web bị hack cho cả khách không phải bên mình làm. Mình nói trước là việc này không có giá cố định — tuỳ mức độ nhiễm, có web dọn một buổi xong, có web phải dựng lại gần như từ đầu. Quan điểm của mình là cứu được thì cứu, không cứu nổi thì thẳng thắn khuyên làm lại cho sạch còn hơn ôm một cái web mục ruỗng.
Túm lại
Web bị hack nghe đáng sợ nhưng không phải tận thế. Tóm gọn cách xử lý web bị hack trong bốn ý cho bạn nhớ: một là cô lập ngay (đổi hết mật khẩu, bật bảo trì, báo hosting); hai là sao lưu hiện trạng trước khi đụng vào; ba là dọn sạch mã độc và cửa hậu, thay lõi bằng bản gốc; bốn là bịt lỗ hổng (cập nhật hết, gỡ đồ lậu, lắp tường lửa, sao lưu định kỳ) rồi xin Google gỡ cảnh báo. Làm đúng thứ tự, đừng nhảy cóc, đừng vội bật web lên khi chưa gia cố.
Và bài học lớn nhất sau mỗi lần cứu web cho khách: phòng vẫn rẻ hơn chống. Một web được làm chuẩn ngay từ đầu, không xài đồ lậu, cập nhật đều, có sao lưu tự động — gần như miễn nhiễm với mấy đợt dò quét tự động của hacker.
Bên mình — Thiết Kế Web Giá Rẻ — làm web trọn gói từ 1.990.000đ gói Cơ bản, 3.990.000đ gói Pro, từ 7.990.000đ gói VIP. Mọi gói tặng tên miền, hosting và chứng chỉ bảo mật SSL năm đầu, bàn giao 3–7 ngày. Mời xem bảng giá trọn gói, tư vấn riêng thì nhắn qua trang liên hệ hoặc Zalo 0777 716 863.
Cần một website giá rẻ, chuẩn SEO?
Nhận tư vấn và báo giá miễn phí ngay hôm nay.