Home > Menengah > Web Development > Tutorial PHP > Proteksi Image dengan PHP

.

Tidak ada komentar BYAdmin Ilmuwebsite

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

$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

DVD Video Tutorial : Kursus Web Development Komplit Bangun 5 Project Aplikasi Website - Membuat CMS Sendiri Dari Nol, Blog, Portal Berita, Ecommerce, Web Komunitas dengan CodeIgniter 3 JQuery AJAX Bootstrap

Video Tutorial Kursus Web Development Komplit Bangun 5 Project Website ini merupakan ‘penunjuk arah’ agar Anda yang sedang maupun baru akan terjun ke dalam dunia web development yang lebih mendalam memiliki peta perjalanan pembelajaran yang lebih terarah menuju web developer professional. (Disertai pembelajaran dasar HTML CSS, JQuery, PHP & MySQL, CodeIgniter) Dibuat oleh praktisi yang memiliki pengalaman lebih dari 10 tahun di bidang web development (Pemesanan bisa SMS/WA ke 0813 1167 5785, atau bisa pesan secara online di sini)



No Responses

eXTReMe Tracker