Önlem 1 -Kullanıcıların resimleri kaydedememesi için.-
Bu yöntem adına köprü diyorum ben. Bir sitemde kullanmıştım. Resimi direk görüntülemek yerine php kontrollü görüntülüyoruz. Kötü yanı ise normale göre resimlerin yavaş görüntülenmesi.
kopru.php:
<?php
$klasor = "gizli_klasor/";
function kontrol() {
if(empty($_SERVER["HTTP_REFERER"])) return false;
else return true;
}
if(!empty($_GET["resim"]) and file_exists($klasor.$_GET["resim"]) and kontrol()){
$resim = $_GET["resim"];
$uzanti = strtolower(substr(strrchr($resim,"."),1));
switch($uzanti) {
case "gif": $tur="image/gif"; break;
case "png": $tur="image/png"; break;
case "jpeg":
case "jpg": $tur="image/jpg"; break;
default:
}
header('Content-type:'.$tur);
readfile($klasor.$resim);
} else {
header('Content-type:image/png');
readfile($klasor."404.png");
}
?>Kullanımı şöyle,
<img src="kopru.php?resim=2.jpg"></img>
Resimler gizli_klasor isimli klasörün içinde olmalıdır. kopru.php gizli_klasor klasöründeki resmi görüntüler. Kişi indirmek istediğinde ise gizli_klasor klasöründe ki 404.png dosyasını indirir.
Önlem 2 -Kullanıcıların resimleri kendi sitelerinde kullanamaması için.-
htaccess ile yapılan bir yöntem. Hotlink de denilen referans kontrollü ssitem.
.htaccess
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?SITEADRESI.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [NC,F,L]Kullanımı şöyle, .htaccess dosyasını resimlerin bulunduğu klasöre at.