New articles Năng lực quản lý: nhân tố thứ năm     ♥ Lựa chọn mục tiêu cuộc đời     ♥ 10 bí quyết cân bằng công việc và gia đình     ♥ Cô đơn trên mạng     ♥ Chứng khoán: Giấc mơ và ác mộng     ♥ Tám     ♥ Những tính năng của blog VnVista     ♥ Các mạng xã hội thống trị Google     ♥ Điều gì tạo nên một giám đốc công nghệ thông tin giỏi?     ♥ Cố gắng xóa bỏ những ấn tượng xấu     ♥ Cần một cách làm ăn mới     ♥ Tiếp thị hướng đến doanh nhân     ♥ Đưa cửa hàng thật lên chợ ảo     ♥ Bí quyết quản lý các nhân viên trẻ     ♥ Một số câu hỏi phỏng vấn “đặc biệt” của Microsoft     ♥ 4 bài học thành công trong kinh doanh     ♥ Tạo dựng hình ảnh một cô gái trẻ chuyên nghiệp     ♥ Góc “khác” của thế giới online đêm     ♥ Phong cách người Mỹ     ♥ Chỉ nghĩ đến tiền cũng làm người ta ích kỷ     
New blog entries Tổng Hợp Các Dòng Camera IMOU Đạt Chuẩn QCVN Mới      ♥ Thông tin chiết xuất hoa hòe là gì?      ♥ Thủ tục giải thể doanh nghiệp      ♥ Ứng dụng của chiết xuất dâu tằm là gì?      ♥ Nâng Cao Hiệu Quả Sản Xuất Nhờ Phụ Gia Nhựa      ♥ Cách chọn giày bảo hộ tại Bắc Ninh đạt chuẩn      ♥ Vì sao nên dùng thiết bị bảo hộ 3M      ♥ Kinh nghiệm chọn giày bảo hộ chống hóa chất      ♥ Vì Sao Ống PVC Bị Giòn Khi Phối Trộn Phụ Gia?      ♥ Tiêu chí chọn mua bảo hộ lao động tại Đà Nẵng      ♥ Công ty bảo hộ lao động tại Hà Nội lớn nhất      ♥ Lưu trữ hóa đơn điện tử 2026      ♥ Yếu Tố Làm Thay Đổi Chất Lượng Nhựa Nguyên Sinh      ♥ Nơi mua giày bảo hộ tại Đà Nẵng uy tín nhất?      ♥ Bột Màu Có Làm Thay Đổi Tính Chất Nhựa Không?      ♥ Chọn công ty bảo hộ lao động tại Hà Nội uy tín      ♥ Địa chỉ mua giày bảo hộ Jogger tại Cần Thơ      ♥ Cách bảo quản giày bảo hộ kho lạnh      ♥ Ống Nhựa Mỏng Hơn Có Cần Phụ Gia PVC Khác      ♥ Chọn nhà cung cấp bảo hộ lao động tại Tây Ninh      
 
Reply to this topicStart new topicStart Poll

Liệt Kê · [ Bình Thường ] · Tách Biệt+

Bảo vệ các file ảnh của bạn, Chống link tới file ảnh & save bandwidth


Tacaza
post Sep 10 2005, 10:21 PM
Gửi vào: #1


Group Icon

The chALLeNgER
**********
Thành viên: 1
Nhập: 3-July 05
Bài viết: 3,003
Tiền mặt: 1,210
Thanked: 1572
Cấp bậc: 43
------
Giới tính: Male
Sinh nhật: 3 Tháng 4 - 1983
Đến từ: Hà Nội
------
Xem blog
Bạn bè: 253 (Xem)
Thêm vào nhóm bạn bè
Gửi thiệp điện tử
Trang thông tin





Hiện nay, việc các website link tới các file ảnh của site khác & do đó làm tốn bandwidth của những site có ảnh bị link tới đó là khá phổ biến. Nếu website của bạn có nhiều ảnh đẹp, rất có thể chúng đã bị link tới từ các website khác, và trang của bạn sẽ tự dưng bị mất bandwidth một cách vô ích trong khi làm lợi cho các site khác.
Làm sao biết được các file ảnh của bạn đang bị link tới như vậy? Đơn giản nhất là bạn hãy kiểm tra các log trên host của bạn để xem những referer tới các file ảnh của bạn.

Ok, vậy làm sao bạn bảo vệ những file ảnh của bạn không cho link tới từ các site khác?
Nếu trang web của bạn đang chạy trên Apache server trên hệ điều hành Unix, cách đơn giản và hiệu quả nhất là sử dụng một file .htaccess để bảo vệ ảnh của bạn (đã giới thiệu trong diễn đàn trong một topic khác). Nhưng nếu host bạn chạy IIS server trên windows hoặc bạn vẫn thích php hơn thì no problem. Let's get started!

Các bạn hãy tạo một file protectimage.php với nội dung như sau:

CODE
<?
/*--------- Chỉnh sửa phần này------------------*/

// Đường dẫn tới thư mục chứa các file ảnh của bạn:
 $imagedir = "/put/your/full/image/directory/path/here/";

 //Trang web được quyền sử dụng các file ảnh này. Nếu trang web của bạn có vào được với cả domain mysite.com & www.mysite.com
// thì hãy cho cả hai vào đây, nhớ là không có dấu "/" ở cuối. Và hãy làm theo ví dụ dưới đây - chú ý tới dấu phẩy giữa các domain:

 $validprefixes = array (
   "thesitewizard.com",
   "www.thesitewizard.com"
 );

//Nếu ai đó muốn vào file php bằng trình duyệt này thì bạn muốn redirect họ tới trang nào?

 $homepage = "http://www.mysite.com/";

// Email của bạn để nhận thông báo nếu có người sử dụng những hình ảnh của bạn trên site của họ. Hãy xóa dấu "//" ở trước $email & thay email bên dưới bằng email của bạn:
 //$email = "[email protected]";

 // ------------ Hết phần cần chỉnh sửa ------------


 // --- Không được chỉnh sửa phần còn lại ---

 function isreferrerokay ( $referrer, $validprefixes )
 {
   $validreferrer = 0;
   $authreferrer  = current( $validprefixes );
   while ($authreferrer) {
     if (eregi( "^https?://$authreferrer/", $referrer )) {
       $validreferrer = 1;
       break;
     }
     $authreferrer = next( $validprefixes );
   }
   return $validreferrer;
 }

 //----------------------- Chương trình chính -----------------------

 $image = $_GET['image'];
 $referrer = getenv( "HTTP_REFERER" );

 if (isset($_GET['image'])) {

   if (empty($referrer) ||
     isreferrerokay( $referrer, $validprefixes )) {

     $imagepath = $imagedir . $image;

     $imageinfo = getimagesize( $imagepath );
     if ($imageinfo[2] == 1) {
       $imagetype = "gif";
     }
     elseif ($imageinfo[2] == 2) {
       $imagetype = "jpeg";
     }
     elseif ($imageinfo[2] == 3) {
       $imagetype = "png";
     }
     else {
       header( "HTTP/1.0 404 Not Found" );
       exit;
     }

     header( "Content-type: image/$imagetype" );
     @readfile( $imagepath );

   }
   else {

     if (isset($email)) {
       mail( $email, "Bandwidth Theft Alert",
          "WARNING:\n\n$referrer\ntried to access\n$image\n",
          "From: CHImageGuard <$email>" );
     }
     header( "HTTP/1.0 404 Not Found" );
   }
 }
 else {
   header( "Location: $homepage" );
 }

?>


Để sử dụng script trên, trong code HTML của bạn, những phần sử dụng ảnh hãy trỏ tới file php này. Chẳng hạn thay vì link tới myimage.gif trong tag IMG, bạn hãy làm như sau:
<im src="protectimage.php?image=myimage.gif">
Bạn có thể bảo vệ ảnh có định dạng gif, jpg và png.

Điều gì sẽ xảy ra nếu site khác link tới ảnh của bạn? Đơn giản là sẽ xuất hiện một hình ảnh broken image link.
Còn nếu bạn nào muốn thay hình ảnh broken image link bằng một lời cảnh báo trên site định ăn cắp bandwidth của bạn (chẳng hạn thành: "trang web này đang sử dụng một hình ảnh ăn cắp từ mysite.com - hãy đến với http://mysite.com để xem những hình ảnh tuyệt vời" :) thì chỉ cần modify đoạn code trên một chút là được thôi (nếu ai thích thì mình chỉ cho)


--------------------
Nhóm bạn bè:


dung_buong_tay

tamhonngoc_536

uchinhuong

MTTH

xuxusp2

Xem tất cả


--------------------

Sao không là mặt trời, gieo hạt nắng vô tư?


 
Nếu bạn thấy bài viết này vi phạm nội quy forum, hãy click nút này:
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

Thank you! Reply to this topicTopic OptionsStart new topic
 

Bản Rút Gọn Bây giờ là: 28th August 2026 - 12:46 AM
Home | Mạng xã hội | Blog | Thiệp điện tử | Tìm kiếm | Thành viên | Sổ lịch