Htaccess chỉ cho ip vn vào admin còn nước khác chặn hết

Cách chỉ cho IP Việt Nam truy cập WordPress Admin và chặn toàn bộ IP nước ngoài (FULL hướng dẫn)

❓ Vì sao cần chặn IP nước ngoài truy cập wp-admin?

Thời gian gần đây, rất nhiều website WordPress bị:

  • Bot quốc tế scan wp-login.php

  • Flood admin-ajax.php → gây tăng CPU, tăng load

  • Attack từ AWS, DigitalOcean, Hetzner, OVH…

  • Brute-force đăng nhập

  • Spam REST API

  • Tấn công WooCommerce (wc-ajax)

→ Kết quả: server quá tải, website chậm hoặc treo dù traffic thật rất ít.

👉 Giải pháp hiệu quả nhất: chỉ cho IP Việt Nam truy cập khu vực admin.

Htaccess chỉ cho ip vn vào admin còn nước khác chặn hết
Htaccess chỉ cho ip vn vào admin còn nước khác chặn hết

🔥 Giải pháp: Chỉ allow IP Việt Nam vào wp-admin + wp-login + admin-ajax

Không dùng GeoIP (nặng server), mà dùng IP prefix của Việt Nam (nhanh – chính xác – nhẹ).


💡 Cách làm

👉 Bước 1: Mở file .htaccessthêm vào cuối

# ========== BLOCK NON-VN FOR ADMIN (CORRECT VERSION) ==========
<IfModule mod_rewrite.c>
RewriteEngine On

# Chỉ áp dụng cho wp-admin, wp-login, admin-ajax
RewriteCond %{REQUEST_URI} ^/wp-login\.php [OR]
RewriteCond %{REQUEST_URI} ^/wp-admin [OR]
RewriteCond %{REQUEST_URI} ^/wp-admin/admin-ajax\.php [OR]
RewriteCond %{REQUEST_URI} ^/admin-ajax\.php

# ========== ALLOW VIETNAM IP RANGE (CHUẨN KHÔNG LỌT IP NHẬT) ==========
RewriteCond %{REMOTE_ADDR} !^14\. [AND]        # VNPT, Viettel
RewriteCond %{REMOTE_ADDR} !^27\. [AND]        # VNPT
RewriteCond %{REMOTE_ADDR} !^42\. [AND]        # FPT
RewriteCond %{REMOTE_ADDR} !^49\. [AND]        # Viettel
RewriteCond %{REMOTE_ADDR} !^58\.(8|14|16|18|22|23|186|187)\.        [AND]
RewriteCond %{REMOTE_ADDR} !^59\.153\.         [AND] # CMC
RewriteCond %{REMOTE_ADDR} !^101\.96\.         [AND]
RewriteCond %{REMOTE_ADDR} !^103\.             [AND]
RewriteCond %{REMOTE_ADDR} !^113\.             [AND]
RewriteCond %{REMOTE_ADDR} !^115\.             [AND]
RewriteCond %{REMOTE_ADDR} !^116\.96\.         [AND]
RewriteCond %{REMOTE_ADDR} !^117\.             [AND]
RewriteCond %{REMOTE_ADDR} !^118\.69\.         [AND]
RewriteCond %{REMOTE_ADDR} !^119\.             [AND]
RewriteCond %{REMOTE_ADDR} !^120\.72\.         [AND]
RewriteCond %{REMOTE_ADDR} !^125\.212\.        [AND]
RewriteCond %{REMOTE_ADDR} !^171\.             [AND]
RewriteCond %{REMOTE_ADDR} !^175\.             [AND]
RewriteCond %{REMOTE_ADDR} !^180\.             [AND]
RewriteCond %{REMOTE_ADDR} !^183\.             [AND]
RewriteCond %{REMOTE_ADDR} !^203\.             [AND]

# => TẤT CẢ KHÔNG MATCH => CHẶN
RewriteRule ^ - [F,L]

</IfModule>

🧪 Test sau khi cấu hình

  1. Đang ở Việt Nam → vào /wp-adminvào bình thường

  2. Bật VPN Mỹ/Japan → vào /wp-admin403 Forbidden

  3. Frontend website (trang chủ, bài viết…) → vẫn xem bình thường

  4. WooCommerce AJAX (cart, checkout) → người Việt vẫn OK

🧪 Test sau khi cấu hình

  1. Đang ở Việt Nam → vào /wp-adminvào bình thường

  2. Bật VPN Mỹ/Japan → vào /wp-admin403 Forbidden

  3. Frontend website (trang chủ, bài viết…) → vẫn xem bình thường

  4. WooCommerce AJAX (cart, checkout) → người Việt vẫn OK


🎯 Lợi ích của việc chỉ cho IP VN vào admin

✔ Ngăn 90–95% bot scan quốc tế
✔ Giảm 50–80% tải PHP + MySQL
✔ Chặn brute-force wp-login
✔ Chặn flood admin-ajax
✔ Chặn REST API spam
✔ Server chạy cực nhẹ
✔ Không dùng plugin nặng
✔ Không cần GeoIP (nhẹ server)

0 0 đánh giá
Đánh giá bài viết
Theo dõi
Thông báo của
guest
0 Góp ý
Cũ nhất
Mới nhất Được bỏ phiếu nhiều nhất
Phản hồi nội tuyến
Xem tất cả bình luận