Skip to content

Cách chặn IP cho trang admin cho WordPress website host trên Hostinger

Chặn theo quốc gia là cách rất hiệu quả để ngăn chặn các cuộc tấn công nếu bạn biết chắc mình (hoặc đội ngũ của mình) sẽ không bao giờ đăng nhập từ các khu vực đó.

Vì bạn đang sử dụng Hostinger, bạn có lợi thế là máy chủ của họ hỗ trợ tính năng GeoIP, giúp việc này gọn gàng hơn nhiều so với các nhà cung cấp khác.

Dưới đây là 3 cách tốt nhất, được sắp xếp từ hiệu quả nhất đến dễ nhất.

Cách 1: Sử dụng GeoIP có sẵn của Hostinger (Khuyên dùng)

Hostinger có một mô-đun tích hợp có thể phát hiện quốc gia. Cách này cho phép bạn chặn truy cập vào trang quản trị chỉ bằng một đoạn mã ngắn trong tệp .htaccess.

Cách này bảo vệ cụ thể trang đăng nhập (wp-login.php), không phải toàn bộ trang web.

  1. Mở Hostinger hPanelWebsiteQuản lý (Manage).
  2. Đi tới File Manager (Trình quản lý tệp) và mở thư mục public_html.
  3. Nhấp chuột phải vào tệp .htaccess và chọn Edit (Chỉnh sửa).
  4. Thêm đoạn mã sau vào trên cùng của tệp:

Apache

<IfModule mod_geoip.c>
    GeoIPEnable On
    RewriteEngine On
    
    # Chỉ cho phép các quốc gia này (Sử dụng mã 2 chữ cái: VN, US, v.v.)
    # Thay đổi "VN|US" thành mã quốc gia bạn muốn cho phép.
    RewriteCond %{ENV:GEOIP_COUNTRY_CODE} !^(VN|US)$
    
    # Chặn truy cập vào wp-login.php và xmlrpc.php đối với tất cả những người khác
    RewriteRule (wp-login|xmlrpc)\.php$ - [F,L]
</IfModule>
  • Giải thích: Mã này có nghĩa là “Nếu khách truy cập KHÔNG (!) đến từ Việt Nam (VN) hoặc Mỹ (US), hãy chặn trang đăng nhập.”
  • Lưu ý: Mã quốc gia của Việt Nam là VN.

Cách 2: Sử dụng Cloudflare (Hiệu suất tốt nhất)

Nếu bạn đã kết nối trang web Hostinger của mình với Cloudflare (miễn phí và rất nên dùng), bạn có thể sử dụng tường lửa của họ để chặn các quốc gia trước khi họ tiếp cận máy chủ Hostinger.

  1. Đăng nhập vào Cloudflare Dashboard.
  2. Đi tới Security (Bảo mật) → WAF (Tường lửa ứng dụng web).
  3. Nhấp vào Create Rule (Tạo quy tắc).
  4. Thiết lập như sau:
    • Field: Country (Quốc gia)
    • Operator: does not equal (không bằng)
    • Value: Vietnam (Chọn quốc gia bạn muốn CHO PHÉP)
    • AND (Nhấn nút And để thêm điều kiện thứ 2)
    • Field: URI Path
    • Operator: contains (chứa)
    • Value: /wp-admin
  5. Action (Hành động): Block (Chặn).
  6. Nhấp Deploy.

Cách 3: Sử dụng Plugin (Dễ nhất / Không cần mã)

Nếu bạn không muốn đụng vào tệp tin hệ thống, hãy dùng plugin:

  1. Cài đặt plugin Wordfence Security.
  2. Đi tới WordfenceFirewallBlocking.
  3. Chọn Country Blocking (Lưu ý: Tính năng này thường nằm trong gói Trả phí của Wordfence).
  4. Giải pháp miễn phí: Cài đặt plugin “iQ Block Country”. Nó cho phép bạn chặn truy cập vào phần Backend (trang quản trị) từ các quốc gia cụ thể.

⚠️ Cảnh báo quan trọng

Nếu bạn đi du lịch đến một quốc gia bị chặn hoặc sử dụng VPN định tuyến qua quốc gia bị chặn, bạn sẽ tự khóa chính mình.

  • Cách khắc phục: Đăng nhập vào Hostinger hPanel, vào File Manager và xóa đoạn mã bạn đã thêm trong .htaccess.

1. Danh sách mã quốc gia phổ biến

Khu vựcQuốc giaMã (Code)
Việt Nam & ĐNAViệt NamVN
SingaporeSG
Thái LanTH
PhilippinesPH
Châu ÁNhật BảnJP
Hàn QuốcKR
Trung QuốcCN
Đài LoanTW
Phương TâyHoa Kỳ (Mỹ)US
Vương quốc AnhGB
ÚcAU
CanadaCA
PhápFR
ĐứcDE

2. Cách viết mã vào file .htaccess

Trong đoạn mã ở Cách 1 (sử dụng Hostinger GeoIP), bạn sẽ sửa dòng RewriteCond.

Quy tắc là sử dụng dấu gạch đứng | để ngăn cách các mã quốc gia. Dấu này có nghĩa là “HOẶC” (OR).

Ví dụ: Nếu bạn muốn cho phép truy cập từ Việt Nam, Mỹ, Singapore và Nhật Bản, hãy sửa dòng đó thành:

Apache

RewriteCond %{ENV:GEOIP_COUNTRY_CODE} !^(VN|US|SG|JP)$

Đoạn mã đầy đủ (Copy & Paste)

Đây là đoạn mã hoàn chỉnh để bạn copy vào đầu file .htaccess (đã thêm sẵn VN, US, SG, JP làm ví dụ):

Apache

<IfModule mod_geoip.c>
    GeoIPEnable On
    RewriteEngine On
    
    # Chỉ cho phép VN, Mỹ, Singapore, Nhật Bản truy cập admin
    # Thêm hoặc bớt mã quốc gia ở dòng dưới, ngăn cách bởi dấu |
    RewriteCond %{ENV:GEOIP_COUNTRY_CODE} !^(VN|US|SG|JP)$
    
    # Chặn truy cập trang đăng nhập với các nước còn lại
    RewriteRule (wp-login|xmlrpc)\.php$ - [F,L]
</IfModule>

theo

Leave a Reply

error: Content is protected !!