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 Dronepro Vn      ♥ thuốc lào tại hà nội      ♥ Cách làm sữa đậu đỏ bằng máy làm sữa hạt      ♥ Chuyến đi khám phá vẻ đẹp Hang Múa 2 ngày 1 đêm      ♥ rượu nhập khẩu      ♥ rượu vang nhập khẩu      ♥ CÁCH SỬ DỤNG MÁY TRỘN BỘT KHÔ      ♥ Casino Utan Svensk Licens      ♥ SHEET Tuổi xa người      ♥ Du lịch Phượng Hoàng Cổ Trấn      ♥ Gạch Bát Tràng lát sân - nét đẹp truyền thống      ♥ Chuyến phiêu lưu trọn vẹn trong 48 giờ đến Hoa Lư      ♥ Cách nấu sữa ngô bằng máy làm sữa hạt      ♥ RỌ ĐÁ GABICO – GIẢI PHÁP CHO CÁC CÔNG TRÌNH      ♥ tư vấn chiến lược Marketing      ♥ tóc giả nữ      ♥ Thuế suất thuế GTGT với công trình xây dựng      ♥ 6 thông tin cần biết khi lắp đặt màn hình LED      ♥ Có nên sử dụng màn hình led phòng họp, hội thảo      ♥ Khác biệt giữa màn hình LED trong nhà      
 
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,022
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 June 2024 - 11:02 PM
Home | Mạng xã hội | Blog | Thiệp điện tử | Tìm kiếm | Thành viên | Sổ lịch