Ngăn chặn leech link ảnh từ hosting của bạn sử dụng mod_rewrite trong Apache

Posted: March 3, 2011 by Hacking & Relax in Sec webserver

Website của bạn lưu trữ và sử dụng rất nhiều hình ảnh trong các bài viết. Và một số website khác copy các bài viết từ website của bạn, sử dụng link (hot link) của các bức ảnh đó. Điều này khiến bạn tiêu tốn rất nhiều băng thông hàng tháng, và hạn chế tốc độ của website bạn. Vậy làm sao để ngăn cản việc “leech link” này?. Có rất nhiều cách để chặn lấy link trong trường hợp trên: bạn có thể sử dụng file .htacess hoặc cấu hình lại file httpd.conf bằng cách thêm các dòng code bên dưới đây vào.

Chú ý: Mod Rewrite của Apache cần được bật nhé.
Bạn tiến hành mở file httpd.conf hoặc file .htaccess trên server/hosting.

1 # vi httpd.conf

Thêm đoạn mã này vào:

1 SetEnvIfNoCase Referer "^http://khanh.com.vn/" banimages=1
2 SetEnvIfNoCase Referer "^http://khanh.com.vn/" banimages=1
3 SetEnvIfNoCase Referer "^$" banimages=1
4
5 Order Allow,Deny
6 Allow from env=banimages=1

hoặc bạn cũng có thể sử dụng một đoạn mã đơn giản khác:

1 RewriteCond %{HTTP_REFERER} !^$
2 RewriteCond %{HTTP_REFERER} !^http://(www.)?khanh.com.vn/.*$ [NC]
3 RewriteRule ^.*.(bmp|tif|gif|jpg|jpeg|jpe|png)$ - [F]

Tips: Thông thường, nhằm mục đích quảng bá, ngoài việc ngăn chặn việc “leech link” ảnh từ hosting của bạn. Bạn có thể chuyển hình ảnh được “leech” qua một bức ảnh mà bạn tùy chọn (như logo, banner của site bạn chẳn hạn).
Để làm được điều này, bạn sử dụng đoạn mã sau:

1 RewriteEngine on
2 RewriteCond %{HTTP_REFERER} !^$
3 RewriteCond %{HTTP_REFERER} !^http://(www.)?khanh.com.vn/.*$ [NC]
4 RewriteRule .*.(gif|jpe?g|png)$ http://www.khanh.com.vn/banner.gif [R,NC,L]

Ở đoạn mã ví dụ trên mình sử dụng link là tên miền của blog mình. Hãy thay đổi bằng tên miền của website bạn!

Nếu bạn thêm nội dung trên vào file httpd.conf thì bạn cần restart lại apache nhé (sửa file .htaccess thì ko cần)

1 # /etc/init.d/httpd restart

Nguồn: http://khanh.com.vn/post/2010/09/25/Ngan-chan-leech-link-anh-tu-hosting-cua-ban.aspx#ixzz1FWuQvh6A

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s