29/11/18

Một số thủ thuật với htaccess Mod Rewrite (chặn IP,...)

Đôi khi trong quá trình xây dựng và phát triển website, bạn cần chuyển hướng hoặc chặn truy cập từ một vài IP, 1 vài dải IP hay thậm chí 1 vài quốc gia? Bài viết này hướng dẫn bạn chuyển hướng hoặc chặn truy cập từ IP bằng mod Rewrite (.htaccess).

Redirect banned IPs

Chuyển hướng tất cả các IP trong list sang một địa chỉ website khác – Redirect banned IPs:
Như ví dụ bên trên là chuyển hướng tất cả các IPs thuộc dải 123.24.x.x hoặc 123.25.26.x hoặc đích danh IP: 123.24.25.26 (x <=255) sang trang https://www.google.com. 

Generic htaccess redirect all http to https

Chuyển hướng từ http sang https – Generic htaccess redirect all http to https
Hoặc
Hoặc

Generic htaccess redirect www to non-www

Chuyển hướng tất cả các truy cập tới http://www.abc.com sang http://abc.com – Generic htaccess redirect www to non-www:

Redirect non-www to www

Chuyển hướng tất cả các truy cập tới http://abc.com sang http://www.abc.com (Redirect non-www to www in .htaccess):

Adding custom error pages

Tạo trang báo lỗi theo ý mình – Adding custom error pages:

Change the timezone of server

Đổi múi giờ mặc định trên server – change the timezone of server to the local time:
Danh sách các timezone phù hợp có thể tìm tại đây:
http://php.net/manual/en/timezones.php

Allow only selected IP addresses access

Chỉ cho phép vài IP truy cập

Deny visitors by referrer

Chặn hết các truy cập có xuất phát từ một số trang nhất định. Ví dụ trên trang abc.com có link đến trang của mình và mình muốn chặn truy cập đó, khi khách nhấn vào link trên trang abc.com sang trang của mình thì sẽ báo lỗi 403.


Chặn truy cập theo IP hoặc dải IP – Deny by IP or IP range:

Đầu tiên chúng ta phải khai báo việc chặn và cho phép trong file .htaccess:
Tiếp theo, chúng ta sẽ khai báo việc chặn truy cập theo IP. Thêm các dòng sau vào giữa hai dòng ta khai báo bên trên:
Thay đổi 1.2.3.4 với IP bạn muốn chặn. Nếu muốn chặn thêm IP thì chỉ việc thêm 1 dòng tương tự. Mình sẽ ví dụ một file .htaccess chặn vài IP riêng lẻ và 1 vài dải IP demo cho các bạn nhé:

order allow,deny

# Chặn mấy IP riêng lẻ
deny from 1.52.133.67
deny from 5.144.176.59
deny from 36.248.168.242

# Chặn mấy dải IP nè
deny from 203.191.
deny from 222.94.
deny from 22.95.
allow from all

 Chuyển hướng truy cập dựa vào IP của người truy cập – Redirect visitors based on IP :


Để hiểu rõ hơn bạn có thể xem thêm dưới đây:

Các cơ sở chặn khách truy cập được cung cấp bởi Apache Web Server cho phép chúng tôi từ chối quyền truy cập vào các khách truy cập cụ thể hoặc cho phép truy cập vào các khách truy cập cụ thể. Điều này cực kỳ hữu ích để chặn khách truy cập không mong muốn hoặc chỉ cho phép chủ sở hữu trang web truy cập vào các phần nhất định của trang web, chẳng hạn như khu vực quản trị.

Để thiết lập giới hạn và chặn khách truy cập, hãy tạo tệp .htaccess theo hướng dẫn và hướng dẫn chính bao gồm văn bản sau:

order allow,deny
deny from 255.0.0.0
deny from 123.45.6.
allow from all

Các dòng trên nói với Apache Web Server chặn khách truy cập từ địa chỉ IP '255.0.0.0' và '123.45.6.', Lưu ý địa chỉ IP thứ hai bị thiếu tập hợp chữ số thứ tư, điều này có nghĩa là bất kỳ địa chỉ IP nào khớp với sự kết hợp ba bộ chữ số sẽ bị chặn, ví dụ như '123.45.6.10' và '123.45.6.255' sẽ bị chặn.

Để thiết lập chặn tất cả khách truy cập ngoại trừ chính bạn, hãy tạo tệp .htaccess theo hướng dẫn và hướng dẫn chính bao gồm văn bản sau:

order allow,deny
allow from 255.0.0.0
deny from all

Các dòng trên nói với Apache Web Server chặn tất cả khách truy cập ngoại trừ những người có địa chỉ IP '255.0.0.0', bạn nên thay thế bằng địa chỉ IP của chính mình.

Bạn có thể thêm bất kỳ số lượng 'từ chối' và 'cho phép từ' hồ sơ sau khi 'cho phép, từ chối'. Lưu ý thay đổi từ 'cho phép từ tất cả' thành 'từ chối tất cả' trên dòng dưới cùng, điều này là quan trọng và phải được thay đổi tùy theo yêu cầu của bạn. Nếu bạn muốn cho phép truy cập của khách truy cập, bạn sẽ sử dụng 'cho phép từ tất cả' và đặt 'từ chối từ' dòng ở trên.

0 nhận xét: