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 SHEET Rất lâu rồi mới khóc      ♥ Cách chọn đồ bảo hộ lao động tại Hồ Chí Minh      ♥ gamebaidoithuong tỷ lệ kèo bóng đá chính xác      ♥ gamebaidoithuong hệ thống bảo mật chuẩn quốc tế      ♥ Dép phòng sạch cho môi trường kiểm soát      ♥ gamebaidoithuong cá cược trực tuyến      ♥ Ghế lưới văn phòng cho startup      ♥ SHEET Tình ta hai ngã      ♥ Tóc rụng nhiều bí kíp giúp lấy lại mái tóc      ♥ Thiết bị bảo hộ lao động tại Đồng Nai cần      ♥ Đại lý giày bảo hộ Jogger tại Bắc Ninh uy tín      ♥ SHEET Một mai không có em trong đời      ♥ Cửa hàng bảo hộ lao động tại Hồ Chí Minh uy tín      ♥ Hướng dẫn sử dụng máy làm sữa hạt chính hãng      ♥ SHEET Đàn trong đêm vắng      ♥ SHEET Hẹn hò      ♥ Phụ Gia PVC Và Ống Nhựa An Toàn Cho Sức Khỏe      ♥ Quy định sử dụng thông tin hóa đơn điện tử      ♥ Bí mật đằng sau đôi dép phòng sạch      ♥ sunwin game bài đổi thưởng với tỷ lệ thắng cao      
 
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à: 23rd August 2025 - 06:45 PM
Home | Mạng xã hội | Blog | Thiệp điện tử | Tìm kiếm | Thành viên | Sổ lịch