Ứng dụng tập tin htaccess trên máy chủ Apache
Trong bài viết tổng hợp này, tác giả sẽ cùng bn nghiên cứu, ứng dụng một số lệnh
thông dụng nhất để thực hiện các tác vụ bảo vệ, điu khiển website theo ý bạn
mun. Nào, xin mi bạn!
Tạo trang báo lỗi mang màu sc cá nn
Trong quá trình làm việc vi client, nếu có lỗi xy ra ( dụ như không tìm thấy tập
tin) t Apache sbáo lỗi bằng một trang có sẵn hiển thị mã scủa lỗi đó, rất
không đẹp và khó hiểu.
Với .haccess thì bn có thể tự tạo các trang báo li hay hơn. Để làm được điều này
thì trong tập tin .htaccess bạn thêmng sau:
ErrorDocument mã slỗi /trangloi.html
Trong đó mã slỗi là mã số của lỗi phát sinh, sau đây là nhng lỗi hay gặp:
401 - Authorization Required (cn password để truy nhập)
400 - Bad request (Lỗi do yêu cu)
403 - Forbidden (kng được vào)
500 - Internal Server Error (lỗi server)
404 - Wrong page (lỗi trang, không tìm thy...)
còn trangloi.html là trang web mà bn muốn hin thị khi lỗi phát sinh, có thể đưa
vào tập tin này nội dung hay đồ hoạ gì tùy bạn, chẳng hạn liên kết trở về trang
chính của trang web. Ví dụ: ErrorDocument 404/trangloi.html hoặc:
ErrorDocument500/loi/500.html
Bây gibạn hãy tải (upload) 2 tập tin .htaccess và trangloi.html lên hosting của
mình.
Chng ăn cắp ng thông (bandwidth)
Thông thường những dịch vụ lưu trữ web chỉ cung cấp cho bạn một lượng dữ liệu
luân chuyển (data transfer) nhất định hàng tháng và khi bn sử dụng hết lượng d
liu này, website của bạn sẽ tự động bị đóng cửa. Bạn sẽ phi trả thêm tin cho
lượng băng thông vượt quá hoặc phải buộc lòng chờ đến tháng sau.
Nếu hình nh, dữ liệu, … của bạn bị các website khác ăn trộm” (bằng các thủ
thuật đơn giản) làm cho lượng dữ liệu luân chuyển của bạnng lên, thì có nghĩa là
bạn sẽ phi trả tin cho cái mà bạn không sử dụng. Sử dụng tập tin .htaccess là một
giải pháp hoàn hảo, để ngăn chặn việc sử dụng hình ảnh ti phép trên website của
bạn. Bạn chỉ việc đưa vào tập tin .htaccess nội dung sau :
RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond
%{HTTP_REFERER} !^http://(www\.)?trangweb\.com/.*$ [NC] RewriteRule
\.(gif|jpg)$ - [F]
Ở đoạn mã trên tôi sử dụng module Rewrite của máy chủ Apache, bạn chỉ việc
thay đổi trangweb.com thành địa chỉ website ca mình.
Có thể sử dụng một hình nh nào đó cảnh cáo nhng kẻ “ăn trộm” băng tng, bạn
dùng dòng lnh sau:
RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond
%{HTTP_REFERER} !^http://(www\.)?trangweb\.com/.*$ [NC] RewriteRule
\.(gif|jpg)$ http://www.trangweb.com/diehotlinker.jpg [R,L]
Không cho hin danh sách tập tin trong thư mục
Trong trường hợp một thư mục nào đó không có tập tin index hoặc default, Apache
sẽ hiển thị một danh sách liệt kê những tập tin có trong thư mục đó. Tuy nhiên nếu
đây là những tài liu nhạy cảm, bạn không muốn người khác thy, hãy thêm lệnh
sau vào tập tin .htaccess
Thay thế trang index (Options –Indexes)
Thông thường khi truy nhp vào một trang web, Apache sẽ tìm tập tin index.htm
hoặc default.htm trả kết quả về cho trình duyệt, bạn có thể dùng .htaccess thay đổi
mặc định này.
DirectoryIndex index.php index .php3 messagebrd.pl index.html index.htm
Với dòng lệnh này thì tất cả các tập tin được liệt kê sẽ được tìm theo thứ tự khi có
yêu cu tới t mục hin hành, trang nào được tìm thy đầu tiên sthành trang
index của thư mục.
Cấm/hạn chế IP truy nhập
Một số người muốn làm ngp (flood) trang web của bạn, việc cần làm là ngăn cấm
những IP của những người này truy nhập vào trang web, bn thêm đoạn mã sau
vào .htaccess: deny from 203.262.110.20; cho phép IP truy nhập: allow from
203.262.110.20.
Nếu bạn chỉ viết IP dưới dạng: 203.262.110 thì sẽ cm tất cả IP trong di t
203.262.110.1 đến 203.262.110.254.
Sử dụng dòng lnh sau: Deny from all sẽ cấm tất cmọi truy nhập đếnc trang
web trong thư mục, tuy nhiên các tập tin trong đó vn có thể được sử dụng từ bên
ngoài thông qua các lệnh dạng require hay include (trong lập trình PHP), có th
xem thêm mã ngun của PHPBB forum,IBF... để hiểu rõ hơn.
Tự đng chuyển đến địa chỉ mới (Redirection)
Bạn chuyển trang web của mình đến địa chỉ mi nhưng không phải ai cũng biết
điều này, redirect truy nhập từ xa một cách đơn giản bằng lệnh sau:
Redirect/olddirectory
http://www.trangwebmoi.com/thumucmoi ;
Tu biến đuôi tập tin
Thông thường, tuỳ thuộc vào ngôn ngữ lập trình web mà bn sử dụng tập tin sẽ có
phần mở rộng khác nhau như: html, htm, asp, aspx, php, cgi, …Tuy nhiên nếu s
dụng .htaccess bạn có thể tác động vào máy chủ Apache, Apache sẽ gọi đến tập tin
của bạn và trả về cho trình duyệt web của người dùng vi phần mở rộng do bạn
quy định trong .htaccess. Bạn sử dụng đoạn lệnh sau trong tập tin .htaccess:
RewriteEngine on
RewriteRule (.*)\.dll$ $1.html
Html là phần mở rộng thực sự của những tập tin trên website, dll là phn mở rng
do bạn lựa chọn. u ý trong liên kết trên trang web, bn phải gọi đúng đường dẫn