DIGIPOWER Tutorials

Trang chủ | | Danh mục bài viết yêu thích | Liên hệ | Đăng nhập Trang chủ | | Danh mục bài viết yêu thích | Liên hệ | Đăng nhập
Tìm kiếm các bài viết theo từ khoá Liệt kê theo danh mục
Sử dụng file .htaccess để block Bots và ban địa chỉ IP
Chi tiết bài viết

Lần cập nhật cuối
24th of December, 2014

Ý kiến người dùng (3 Bình chọn)
100% thumbs up 0% thumbs down

Làm thế nào bạn sẽ đánh giá câu trả lời này?
có ích
không hữu ích

Để sử dụng htaccess ngăn ngừa truy cập trái phép hoặc đốt hết băng thông của host thì mình cần nắm được:

Xác định các đối tượng cần ngăn chặn

Có một số cách để tìm hiểu:

  • Xem trong log của host hoặc các thống kê của Google về website .
  • Kiểm tra các cơ sở dữ liệu của người dùng Agent (nếu website có tổ chức ghi lại các thông số -logs) .
  • Cập nhật danh sách các website độc hại..từ blacklist được public trên thế giới.

Khi đã hiểu, chúng ta mới làm bước tiếp theo. Vì đơn giản nếu bước này chưa xong thì bạn sẽ không biết là mình định chặn cái gì :D

Chặn chương trình với. Htaccess

Nếu  chưa có file .htaccess trong thư mục gốc của trang web thì bạn cần tạo ra nó đã nhé. Sau đây là thí dụ số 1:

Sử dụng User-agent agent

# Để loại bỏ các bot
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^BadBot
RewriteRule ^(.*)$ http://tên-miền-muốn-gửi-sang

Cách làm này dựa theo user-agent, chẳng hạn ở trên thì user-agent có chứa từ  “BadBot”. Thật đơn giản đúng không? Khi máy chủ web kiểm tra có bot mà user-agent có chứa chuỗi bắt đầu với “BadBot”. Khi đó nó sẽ redirects sang cái trang mà bạn định link đến.

Nếu muốn chặn nhiều bot thì chỉ cần thêm [OR] vào nữa là xong, thí dụ:

# thêm [or]
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^BadBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^EvilScraper [OR]
RewriteCond %{HTTP_USER_AGENT} ^FakeUser
RewriteRule ^(.*)$ http://
tên-miền-muốn-gửi-sang

Đoạn mã trên khác thí dụ trước ở chỗ nó chặn 3 cái cùng 1 lúc.  Lưu ý các từ  “[OR]” tùy chọn sau hai tên bot đầu tiên: điều này cho phép máy chủ biết có nhiều bot trong danh sách.

Chặn qua Referer

Chặn không cho website khác lấy hình ảnh, file,…của host mình và cũng không cho nó dùng iframe,..để đánh cắp băng thông của mình:

RewriteEngine On
RewriteCond %{HTTP_REFERER} ^http://.*1-vài-ký-tự-trong-domain\.com [NC]
RewriteRule .* - [F]

Mã này sẽ trả về kết quả ‘403 Forbidden’- báo lỗi. Kết quả cuối cùng: người dùng trên trang web đó sẽ thấy một hình ảnh bị hỏng, liên kết bị lỗi,..và băng thông của host sẽ không còn bị đánh cắp.

Dưới đây là mã cho chặn nhiều hơn một trang web:

RewriteEngine On
RewriteCond %{HTTP_REFERER} ^http://.*tên-miền-1\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://.*tên-miền-2\.com [NC,OR]
RewriteCond% (HTTP_REFERER) ^ http:// tên-miền-cuối-trong-danh-sách .* \. Com [NC]
RewriteRule .* - [F]

Cấm địa chỉ IP truy cập website

Đôi khi bạn chỉ không muốn một người nào đó (hoặc bot) truy cập vào trang web của bạn cả. Một cách đơn giản để ngăn chặn chúng là cấm địa chỉ IP:

order allow,deny
deny from 192.168.1.1
deny from 234.45.67.89
deny from 123.45.67.89
allow from all

Ví dụ trên cho thấy làm thế nào để chặn các địa chỉ IP cụ thể. Nếu muốn chặn cả 1 dải IP, cũng rất đơn giản:

order allow,deny
deny from 192.168.
deny from 123.0.0.
allow from all

Đoạn mã trên sẽ chặn bất kỳ địa chỉ IP bắt đầu với “192,168.” hoặc “123.0.0.”  truy cập vào trang web.

Nếu cần, ta cũng có thể chặn bất kỳ ISP nào

order allow,deny
deny from fpt-chẳng-hạn.com
deny from sub-domain.domain.com
allow from all

Cuối cùng, cần lưu ý khi sử dụng  Htaccess

Như bạn thấy,. Htaccess là một công cụ rất mạnh để kiểm, cấu hình website. Phải thật cẩn thận và chính xác khi thao tác nhé. Nếu có bất kỳ sai sót nào, kể cả là đánh sai cả 1 khoảng trắng trong file .htaccess, máy chủ sẽ trả về 1 trang Error 500 trang thay vì hiển thị trang web.Vì vậy hãy chắc chắn để sao lưu file .htaccess của bạn trước khi thực hiện bất kỳ thay đổi.

Các bài liên quan
Không có bài viết liên quan đã được tìm thấy.
File đính kèm
Không có File đính kèm nào được tìm thấy.

Tiếp tục

Knowledge Management