IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   PHP (https://www.ircforumlari.net/php/)
-   -   Hotlink koruması class (https://www.ircforumlari.net/php/670975-hotlink-korumasi-class.html)

hAte 15 Ocak 2015 06:46

Hotlink koruması class
 
<?
class D_Security {

var $lista;
var $path;

function Dow_Security() {
$this->lista = array(); // Create empty host list
$this->path = "./"; // set default path do current folder
}

function SetPath($path) {
$this->path = $path;
}

function AddHost($host) {
if (empty($host)) {
return false;
}
$this->lista[] = $host;
return true;
}

function RemoveHost($host) {
for ($i=0;$i<count($this->lista);$i++) {
if ($this->lista[$i]==$host) {
$this->RemoveArrayItem($this->lista,$i);
}
}
}

function ListHosts() {
return $this->lista;
}

function RemoveArrayItem(&$ar,$item)
{
$ar = array_merge(array_splice($ar,0,$item),array_splice ($ar,1));
}

function DownloadFile($filename) {
if ($this->ChecaReferer() == true) {
$fil = $this->$path.$filename;
header("Content-type: application/octet-stream");
header("Content-disposition: attachment; filename=".basename($fil));
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize("$fil"));
readfile($fil);
return true;
} else {
return false;
}

}

function ChecaReferer() {
$cont = count($this->lista);

for ($x=0;$x<$cont;$x++) {
if (eregi($this->lista[$x],$_SERVER["HTTP_REFERER"])) {
return true;
break;
}

}

}

}
// Example
$dow = new D_Security(); // Create new object
$dow->SetPath("./"); // set the folrder where the files are stored

$dow->AddHost("
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
Add host to list
$dow->AddHost($_SERVER["HTTP_REFERER"]); // Add host to list

if (!$dow->DownloadFile("example.exe")) { // Download the file
echo "<br>Error: you are trying to download this file from unauthorized site<br>";
echo "Try again from authorized host now: <a href=downloader.php>link</a>";
} ?>


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 16:23.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk