Home Kiến thức Hosting Hướng dẫn chặn User Agent/Bot thông qua .htaccess

Hướng dẫn chặn User Agent/Bot thông qua .htaccess

by Đàm Trung Kiên
Published: Last Updated on
A+A-
Reset

Giới thiệu

Trong quá trình vận hành website, chắc hẳn các bạn đã từng một hoặc nhiều lần bị các Bot scan/scawler vào website để thu thập dữ liệu. Việc thu thập thông tin này có thể đến từ Bot tốt hoặc Bot xấu, tuy nhiên vấn đề chung mà chúng ta gặp phải là khi các Bot này scan/scawler vào website với tần suất lớn và liên tục thì rất dễ gây quá tải tài nguyên Hosting (CPU/Ram), việc này làm ảnh hưởng đến tốc độ tải trang hoặc nặng hơn là có thể gây lỗi website.

Vậy làm sao để chúng ta có thể hạn chế hoặc là chặn các Bot scan/scawler vào website? Thì ở bài viết này, mình sẽ hướng dẫn các bạn cách chặn Bot scan/scawler vào website vô cùng đơn giản thông qua File .htaccess của website.

Ví dụ ở đây website của mình thường bị một số Bot bên dưới scan/scawler vào website. Ở đây mình không nói Bot này là Bot xấu hay tốt, vì nó còn tuỳ thuộc vào từng website. Nên bài viết này mình chỉ hướng dẫn các bạn cách chặn chúng, và bạn chỉ áp dụng cho các Bot mà bạn muốn chặn thôi nhé.

[28/Dec/2023:16:19:51 +0700] "GET /san-pham/dong-co-buoc-5-pha-loai-truc-rong-autonics-ah8k-m566/ HTTP/2" 200 30010 "-" "Mozilla/5.0 (compatible; AhrefsBot/7.0; +http://ahrefs.com/robot/)"
[28/Dec/2023:16:19:59 +0700] "GET /product-tag/a22nl-mma-tya-p102-yc/ HTTP/1.1" 200 1229 "-" "Mozilla/5.0 (compatible; SemrushBot/7~bl; +http://www.semrush.com/bot.html)"
AhrefsBotAhrefsBot
[06/Oct/2023:07:36:31 +0700] "GET /robots.txt HTTP/1.1" 404 1238 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)"

Hướng dẫn thực hiện

Bước 1: Truy cập vào File .htaccess

Đầu tiên các bạn hãy truy cập vào đường dẫn Document root của website cần chặn Bot, ở đây website mình đang cần chặn là damtrungkien.com, thì mình sẽ truy cập như sau:

image 3

Bước 2: Thêm cấu hình chặn

Ở đây bạn có thể sử dụng 1 trong 2 cách tuỳ ý thích của mình, vì về cơ bản chúng đều có chức năng chặn Bot.

Cách 1:

Lưu ý: Nếu bạn muốn thêm Bot vào danh sách chặn, thì các Bot sẽ cách nhau bởi dấu gạch đứng |

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} "AhrefsBot/7.0|SemrushBot/7~bl|YandexBot/3.0" [NC]
RewriteRule .* - [F,L]

Cách 2:

Lưu ý: Nếu bạn muốn thêm Bot vào danh sách chặn, thì bạn chỉ cần thêm dòng SetEnvIfNoCase User-Agent “tên_bot” bad_bots là được.

# Block Bot
SetEnvIfNoCase User-Agent "AhrefsBot/7.0" bad_bots
SetEnvIfNoCase User-Agent "SemrushBot/7~bl" bad_bots
SetEnvIfNoCase User-Agent "YandexBot/3.0" bad_bots
<Location />
Order Allow,Deny
Deny from env=bad_bots
Allow from all
</Location>

Dưới đây là hình ảnh minh hoạ khi mình chèn vào .htaccess.

CleanShot 2024 01 01 at 13.38.49

Bước 3: Kiểm tra truy cập của Bot

Để kiểm tra xem Bot đã được chặn thành công hay chưa, bạn có thể kiểm tra access_log của website. Nếu thấy mã trả về là 403 như log bên dưới là đã chặn thành công.

[28/Dec/2023:16:32:47 +0700] "GET /product-tag/ebn104c-15a-30ma/ HTTP/2" 403 23966 "-" "Mozilla/5.0 (compatible; AhrefsBot/7.0;+http://ahrefs.com/robot/)"

Nếu Hosting của bạn có hỗ trợ Terminal hoặc bạn sử dụng VPS, thì bạn có thể kiểm tra nhanh bằng lệnh bên dưới:

curl -A "YandexBot/3.0" -I https://damtrungkien.com
CleanShot 2024 01 01 at 13

Tổng kết

Như vậy ở trên mình đã hướng dẫn bạn chi tiết cách chặn Bot scan/scawler vào website của mình, từ đó hạn chế việc website bị thu thập dữ liệu từ các Bot xấu và đồng thời giúp giảm tải tài nguyên cho Hosting/VPS.

Chúc các bạn thực hiện thành công.

Các bạn có thể tham khảo thêm các hướng dẫn sử dụng khác tại link bên dưới

Nếu các bạn cần hỗ trợ các bạn có thể liên hệ bộ phận hỗ trợ theo các cách bên dưới:

Đánh giá

Tham gia nhóm hỗ trợ Server - Hosting

Tham gia nhóm Hỗ trợ Server - Hosting & WordPress để cùng nhau hỏi đáp và hỗ trợ các vấn đề về WordPress, tối ưu máy chủ/server.

Tham gia ngay

Bài viết cùng chuyên mục

AZDIGI – Không chỉ là đơn vị hàng đầu trong lĩnh vực Web Hosting và Máy chủ, chúng tôi mong muốn mang lại những kiến thức bổ ích nhất và luôn cập nhật thường xuyên cho cộng đồng người đam mê thiết kế website, công nghệ,…

Vui lòng không sao chép nội dung nếu chưa xin phép. Designed and Developed by PenciDesign