Thursday, November 21, 2024
HomeThiết kế WebWeb Source CodeTiết kiệm băng thông website với .htaccess

Tiết kiệm băng thông website với .htaccess

Dưới đây là cao kiến của Vietcoding mà mình đã học tập, xin chia sẻ lại cùng các bạn:

Hotlink – Lợi hay hại?

1. Hotlink là gì?
Hotlink là đặt link trực tiếp đến một file nào đó trên trang web của người khác. Đó có thể là file ảnh, file video, file mp3, vân vân và vân vân.
2. Cái lợi của hotlink
Rất tiện lợi trong việc… copy bài viết của người khác về trang web của mình. Không cần mất công upload ảnh, video, chỉ việc giữ nguyên link cũ. Tiết kiệm được không ít thời gian đâu.
3. Cái hại của hotlink
Lợi bất cập hại.
a. Hại cho người bị hotlink
Tại sao hotlink còn được gọi là bandwidth theft? Bởi vì khi đặt link trực tiếp tới file ảnh, video trên trang web của người khác, mỗi lần ai đó vào trang web của bạn, request sẽ được gửi thẳng tới server chứa trang web của người kia. Người có nội dung bị hotlink sẽ tốn băng thông một cách vô lý. Giả sử blog tớ một ngày có 200 visitor, nghĩa là khoảng 200 lần load một cái ảnh; mà ảnh đó bị hotlink ở trang web có 10000 visitor/ngày thì tự dưng băng thông tớ tốn gấp 6 lần mức hợp lý.
b. Hại cho người đi hotlink
File được (hay bị?) hotlink không nằm trên server của bạn, nói cách khác là không thuộc quyền quản lý của bạn. Điều gì sẽ xảy ra nếu server của trang web kia down? Các file bị hotlink đương nhiên sẽ không hiển thị được.
Đấy là còn nhẹ đấy. Nặng hơn thì đã có vài dẫn chứng nổi tiếng:
Dẫn chứng #1:
Hôm 4.12.2006, RSS Team của Microsoft đặt hotlink trên blog tới một ảnh trên Flickr mà không xin phép tác giả. Chủ nhân bức ảnh khi phát hiện ra điều đó đã thay thế bức ảnh gốc bằng một ảnh khác có nội dung “hơi bị nhạy cảm”. Hiển nhiên một bức ảnh kiểu như vậy hiện ra giữa một blog nghiêm túc thì không lấy gì làm đẹp đẽ lắm.
Dẫn chứng #2:
Vụ này liên quan đến profile trên myspace của ứng cử viên tổng thống Mỹ John McCain hồi tháng 3 năm ngoái. Bộ phận lo về thiết kế của profile sử dụng một template nổi tiếng của một designer khác mà không để credit đến tác giả. Tệ hơn là họ còn hotlink thẳng tới server của người này. Kết quả? Một dòng chữ như sau được chèn vào profile của John McCain:
Today I announce that I have reversed my position and come out in full support of gay marriage…particularly marriage between two passionate females.
Miễn bình luận.
4. Làm ơn đừng hotlink…
Trước khi bấm nút Create new post/Publish/whatever, hãy chắc chắn rằng bạn không chôm băng thông của ai đó khác bằng cách hotlink đến nội dung trên trang web của họ.
Bạn có thể down file của người đó về, upload lên server mình (ở đây xét trường hợp điều đó được tác giả cho phép).
Nếu là ảnh, bạn có thể fetch sang một dịch vụ image hosting nào đó kiểu như imageshack.
Hoặc bạn có thể sử dụng dịch vụ Image Redirection của imgred.
Từ internet.

Như vậy, nhìn về khía cạnh bạn là webmaster của một webblog nào đó thì rõ ràng hotlink là một việc có hại. Thử tưởng tượng ở mỗi bài viết có từ 3-5 bức ảnh minh hoạ (host trên hosting của bạn), mỗi bức ảnh trung bình 50 Kb. Một webblog nào khác copy nguyên xi bài viết đó của bạn. Bạn sẽ dễ dàng tính được cứ mỗi lượt truy cập vào webblog đó, “họ” sẽ tiết kiệm được từ 150-250 Kb băng thông (bandwidth) và đương nhiên số tiền tiết kiệm đó “họ” móc “gián tiếp” từ túi tiền của bạn. Họ có được content + visitor + thứ hạng, trong khi bạn chẳng được lại còn mất. Thử tưởng tượng webblog của họ có vài chục ngàn lượng truy cập/ngày thì bạn phải dốc hầu bao ra bao nhiêu trả cho nhà cung cấp host ?

Vậy làm sao để giải quyết vấn đề ? Chúng ta có nhiều cách:

– Dụng văn : Contact với webmaster của website nào đang “ăn cắp” băng thông của bạn, yêu cầu gỡ bỏ hoặc chuyển số hình ảnh về hosting của họ hoặc về đâu đó. Nếu họ hợp tác thì quá tốt. Nếu họ phớt lờ, hãy liên hệ với Google – gã khổng lồ này sẽ biết cần phải làm gì

Trường hợp chờ Google ra tay giúp bạn quá lâu, hoặc Google không giúp bạn ? Bạn có 2 cách tiếp theo:

– Chuyển toàn bộ dữ liệu (hình ảnh, tài liệu, nhạc, phim,…) lên cách dịch vụ lưu trữ trực tuyến để vừa giảm tải băng thông từ hosting của bạn và ngăn chặn kẻ xấu.

– Trường hợp bạn không muốn chuyển dữ liệu, vẫn muốn giữ tại hosting (để tiện quản lý, sao lưu,…) thì hãy sử dụng sức mạnh của tập tin .htaccess (Không dùng được với server Windows.) Vậy .htaccess là gì?

-.htaccess là một tập tin được đặt trên các máy chủ hệ Unix (FreeBSD* Linux* Solaris* True64…) và .htaccess chỉ được cấu hình ở mức thư mục.
-Tập tin này có thể điều khiển được khá nhiều thứ* thậm chí thay đổi được cả thiết lập mặc định của máy chủ Apache.
-Nếu khai thác tốt .htaccess* ta có thể làm nhiều việc khá dễ dàng chỉ với vài dòng lệnh.

Trong phần bài viết dưới đây, Việt Coding sẽ hướng dẫn các bạn cách sử dụng .htaccess để bảo vệ tài nguyên trên webblog của bạn, ví dụ ở đây là WordPress (bạn hoàn toàn có thể áp dụng cho các ứng dụng web khác). Các bạn hãy xem nội dung tập tin .htaccess dưới đây:

[code=’html’]RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://(www.)?vnemarketing.net(/)?.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www.)?onlineseeding.vn(/)?.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www.)?nphunghung.com(/)?.*$ [NC]
RewriteRule .*.(gif|jpg|jpeg|bmp|png)$ http://img230.imageshack.us/img230/1272/hotlinkisforbidden.jpg [R,NC][/code]

Nội dung tập tin .htaccess phía trên được chia làm 3 phần.

Phần 1: là dòng chỉ thị bật RewriteEngine.

Phần 2: là dòng chỉ thị, cho phép những domain này được phép truy xuất đến nguồn tài nguyên của bạn. Hãy thêm các domain thuộc bạn bè của bạn vào.

Phần 3: chỉ thị những loại tập tin nào cần bảo vệ. Ví dụ ở đây là các định dạng hình ảnh. Bạn có thể thêm vào các loại khác như zip, rar, doc, pdf, mp3, avi,… Liên kết phía sau, là liên kết hình bạn muốn hiển thị cảnh báo.

Cuối cùng, bạn chỉ cần copy đoạn code trên, chỉnh sửa cho phù hợp với webblog của bạn rồi upload lên thư mục chứa dữ liệu của bạn. Ví dụ: WordPress là /wp-content/uploads/ 

Vậy là xong rồi đấy, chúc các bạn thành công !

Theo Vietcoding

RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

- Advertisment -

Most Popular