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

Pengen Belajar Web Development HTML CSS JQuery Javascript Codeigniter Lebih Lengkap, Mudah, dan Lebih Terstruktur?

Pake Modul Video Tutorial Interaktif Mudah Jelas Gamblang, Nggak Pakai Ribet, Kenapa Video? Kalo Ebook Atau Buku Tebelnya minta ampun Gan. Mumpung Ada Promo, Beli Sekarang Dah Gan!! Promo Tutorial Premium Mahir Web Development Bangun 5 Project Website + Mahir Membuat 4 Aplikasi Android + Bonus Tutorial Membuat Themes Wordpress Premium, 3 Tutorial Isi 5 Dvd Cuma Rp 150rb Aja Gan (harga normal Rp 296rb) !!! Terbatas Sampe 12 Februari 2020 (Yang Bikin Videonya Udah Pengalaman Di Web Development Lebih Dari 15 Tahun Gan!!) (Pemesanan bisa SMS/WA ke 0838 1157 5876, atau bisa pesan secara online 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 :