Chống Hotlink bằng file htaccess – Cách bảo vệ băng thông web server

Để hạn chế bị sao chép bài viết cũng như bảo vệ băng thông (bandwidth) chống các website khác sử dụng các link hình ảnh, video,…của mình để chèn vào website của họ (Hotlink) làm hao tốn băng thông mạng và tài nguyên máy chủ. Trong bài viết này chúng ta thảo luận về chống Hotlink bằng file htaccess để bảo vệ băng thông mạng. Lưu ý cách này chỉ thực hiện được trên máy chủ Linux chạy Apache.

Chống Hotlink bằng file htaccess - Cách bảo vệ băng thông mạng

Lợi và hại của Hotlink: ta cần xét ở hai khía cạnh

1. Xét về băng thông mạng và tài nguyên máy chủ: website đi hotlink sẽ có lợi do giảm tải được bandwith và tài nguyên server, còn website bị hotlink sẽ tốn băng thông và tài nguyên máy chủ.

2. Xét ở khía cạnh SEO thì ngược lại: website đi hotlink sẽ bị ảnh hưởng xấu đến SEO do Google đủ thông minh để biết được link hình ảnh trong bài viết được copy từ website khác, còn website bị hotlink vô tình được lợi về SEO do được quảng bá.

Vậy tại sao ta cần phải chống hotlink?

– Đối với các web server có băng thông mạng và cấu hình không đủ mạnh thì nhất thiết phải chống hotlink. Bạn cứ tưởng tượng một bài viết của bạn có 10 hình, mỗi hình 50kB, như vậy chỉ cần 10 website khác nhau hotlink bài viết đó của bạn thôi thì cũng đủ mệt rồi hihi

– Đối với các webserver có băng thông và cấu hình cực mạnh như Vnexpress.net, dantri.com.vn,..thì cho hotlink thoải mái để quảng bá luôn :).

Bây giờ chúng ta bắt đầu chống hotlink bằng file htaccess thôi:

– Tạo file .htaccess trong thư mục chứa hình ảnh và các file không cho hotlink, chẳng hạn trên website của tôi là thư mục Upload

hotlink_01

– Nội dung file .htaccess như sau:

#Deny Hotlink
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://([a-z0-9]+\.)?thuviencntt\.com      [NC]
RewriteRule ^(.*)\.(gif|jpg|png|jpeg|pdf|bmp|mp3|rar)$ http://thuviencntt.com/404.php?$1.$2   [NC,L]

– Giải thích đoạn code:

RewriteCond %{HTTP_REFERER} !^http://([a-z0-9]+\.)?thuviencntt\.com      [NC] : cho phép website thuviencntt.com (bao gồm tất cả các subdomain) tham chiếu đến các link trong thư mục, chỉ cần thay thuviencntt.com bằng tên domain website của bạn.

RewriteRule ^(.*)\.(gif|jpg|png|jpeg|pdf|bmp|mp3|rar)$ http://thuviencntt.com/404.php?$1.$2   [NC,L] : rule không cho phép tham chiếu đến các file gif|jpg|png|jpeg|pdf|bmp|mp3|rar, khi truy cập đến các file đó thì redirect qua trang 404.php.

– Việc còn lại chỉ cần tạo file 404.php với nội dung tùy ý, phía dưới là file 404.php của mình

hotlink_02

– Sau khi tạo xong file .htaccess và file 404.php, khởi động lại web server và kiểm tra kết quả

# /etc/init.d/httpd restart

– Đây là kết quả mình tra trên website localhost

hotlink_03

Thuviencntt chúc các bạn thành công!

Add a Comment

Your email address will not be published. Required fields are marked *