Proteksi Image dengan PHP

Proteksi Image dengan PHP


Bandwith stolen, atau pencurian bandwith menjadi salah satu alasan mengapa saya menulis artikel ini. Namun apa yang menjadi istimewa dari teknik proteksi image dengan PHP? Keistimewaannya adalah anda bisa menampilkan image/gambar hanya pada website-website pilihan anda, dan jika orang lain yang mencoba mengcopy url image anda, niscaya dia tidak bisa menampilkan imagenya di website miliknya. Bandwith anda tetap aman. Script php lengkapnya adalah sebagai berikut :

<?php

IW-AutoBlog: Tools Untuk Otomatisasi Pembuatan dan Upload Konten Blog, Sudah digunakan lebih dari 110 Blogger Expert. Ayo Pesan Sebelum Harga Naik Lagi!!

Cocok untuk Anda yang tidak ingin direpotkan oleh pekerjaan harian seperti membuat konten dan posting harian, biarkan autoblog yang bekerja untuk Anda, semua serba otomatis. Cocok untuk SEO. Tak ada yang se-MUDAH, se-FLEKSIBEL & se-POWERFULL IW-AutoBlog dalam mengotomatisasi pembuatan konten Blog. Lebih lengkap silahkan kunjungi di sini)


$imagedir = "/home/websiteanda/public_html/images/" ;

$validprefixes = array (

"ilmuwebsite.com",

"www.ilmuwebsite.com"

) ;

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

$email = info@ilmuwebsite.com;

function isreferrerokay ( $referrer, $validprefixes )

{

$validreferrer = 0 ;

$authreferrer? = current( $validprefixes );

while ($authreferrer) {

if (eregi( "^https?://$authreferrer/", $referrer )) {

$validreferrer = 1 ;

break ;

}

$authreferrer = next( $validprefixes );

}

return $validreferrer ;

}

$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:nn$referrerntried to accessn$imagen",

"From: CHImageGuard <$email>" );

}

header( "HTTP/1.0 404 Not Found" );

}

}

else {

header( "Location: $homepage" );

}

?>

Script ini bekerja mengecek refererr. Referer sendiri yang mengindikasikan darimanakan datangnya suatu request terjadi, dalam bentuk url. Dan script ini kemudian mencocokkan referrer, jika domain referrer tidak terdapat dalam? $validprefixes maka domain tersebut tidak dapat menampilkan image, dan begitu sebaliknya. Letakkan script ini di direktori root website anda, atau di dalam direktori anda yang lain, kemudian yang harus di setting adalah :

$imagedir = "/home/websiteanda/public_html/images/" ;

$imagedir merupakan full path dari direktori image anda...

$validprefixes = array (

"ilmuwebsite.com",

"www.ilmuwebsite.com"

) ;

kemudian $validprefixes merupakan website referer yang diperbolehkaan untuk dapat menampilkan image

$email = info@ilmuwebsite.com;

kemudian yang terakhir adalah email, yang nantinya dapat memberitahukan kepada anda orang lain yang mencoba untuk menampilkan image anda di websitenya tanpa sepengetahuan anda.

untuk menggunakan url nya adalah seperti ini

http://www.websiteanda.com/imgprotection.php?image=image.jpg

contoh penggunaanya seperti ini ...

http://www.ilmuwebsite.com/wp-content/uploads/unair.info/imagegen/imageir.php?image=image003.jpg

anda dapat mengetesnya dengan menyisipkan tag ini di website anda.

<img src="http://www.ilmuwebsite.com/wp-content/uploads/unair.info/imagegen/imageir.php?image=image003.jpg" />

gambarnya tidak akan tampil.

Selamat mencoba. Silahkan download scriptnya disini.

http://www.ilmuwebsite.com/file_tutorial/imgprotection.php.zip

Team Ronggolawe

Artikel Terkait :