Добро пожаловать, Гость!
Запрет скачки сылок из других сайтов - Полезный php код №44
Все категории

Запрет скачки сылок из других сайтов

Описание: думаю вам пригодиться этот код
Код:

<?php/*Защита файлов от скачивания по 
ссылкам с чужих сайтов ссылка на 
скачивание выглядит так:http:// 
example.com/antileech.php?down=4 <-- 
номер файлаили <a href="https://dcms-social.ru./go.php?go=aHR0cDovL2V4YW1wbGUuY29tLw==">Ссылка</a> 
antileech.php?down=filename <-- имя 
файла*/// Настройки$antiurl = 
"htmlweb.ru"// Разрешённый сайт 
(referer).$antidir $_SERVER 
['DOCUMENT_ROOT']."/download/"// Папка 
где находятся защищённые от скачивания 
файлы$logfile 
"log.htm"// Файл 
протокола (должен быть html или htm и 
обязательно CHMOD 777.
if (isset($logfile)) 
{if (!
file_exists($logfile)) die("Файл 
<font color='red'><b>
$logfile</b></font> 
не найден!"
);if (!is_writable($logfile)) 
die(
"Для файла<font color='red'><b> 
$logfile</b></font> нужно зделать CHMOD 
777!"
);if ($_SERVER['HTTP_REFERER'] == 
"")$cnr_data "[не известно]"; else 
$cnr_data "<a href="" . $_SERVER 
['HTTP_REFERER'] . "">" 
$_SERVER 
['HTTP_REFERER'] . "</a>";$cnr_data 
"<font color="green">".$_SERVER 
['REMOTE_ADDR']."</font> HOST <font 
color="
red">".gethostbyaddr($_SERVER 
['REMOTE_ADDR'])."</font> visited on 
"
.date("l d F H:i:s")." ссылка с "
$cnr_data."<br>";@file_put_contents 
($_SERVER['DOCUMENT_ROOT'].$logfile
$cnr_dataFILE_APPEND);}// Проверка 
реферераif (!stristr($_SERVER 
["HTTP_REFERER"], $antiurl) or !isset 
(
$_SERVER["HTTP_REFERER"])) die('<h1>Файл 
по указанной ссылке не доступен!</h1>'
);if 
(
is_numeric($_GET["down"])){// Здесь идут 
файлы для скачивания пономерам if ($_GET 
["down"] == 1$filename "test1.rar"
elseif (
$_GET["down"] == 2$filename 
"test2.rar"; elseif ($_GET["down"] == 3
$filename "test3.rar";}else $filename 
$_GET["down"];$path $antidir 
$filename// Полная ссылка на файл// 
Проверка файла есть он или нетif (! 
file_exists($path)){ header("HTTP/1.0 404 
Not Found"
); die("Файл '$filename' не 
существует!"
);}$ftime date("D, d M Y 
H:i:s T"
filemtime($path));// Проверкаif 
(strstr($_SERVER["HTTP_REFERER"], 
$antiurl)) { if (isset($_GET['down']) && 
isset(
$filename)) { $fsize filesize 
($path); $ftime date("D, d M Y H:i:s 
T"
filemtime($path)); $fd = @fopen 
($path"rb"); if (!$fd){header 
("HTTP/1.0 403 Forbidden");exit; } if 
(
$HTTP_SERVER_VARS["HTTP_RANGE"]) { // 
докачка $range $HTTP_SERVER_VARS 
["HTTP_RANGE"]; $range str_replace 
("bytes="""$range); $range 
str_replace("-"""$range); if ($range
{
fseek($fd$range);} } $content fread 
($fdfilesize($path)); fclose($fd); if 
(
$rangeheader("HTTP/1.1 206 Partial 
Content"
); else header("HTTP/1.1 200 
OK"
); header("Content-Disposition: 
attachment; filename=" 
basename($path)); 
header("Last-Modified: $ftime"); header 
("Accept-Ranges: bytes"); header("Content- 
Length: "
.($fsize-$range)); header 
("Content-Range: bytes $range-".($fsize 
-1)."/".$fsize); header("Content-type: 
application/octet-stream"
); print 
$content; exit;} else die 
(
"Недействительный файл.");}?>


Добавил: virus_pro (3 Окт 2014)

Скачать: TEXTAREA
DCMS-Social.ru - движок социальной сети, вап и веб мастерская, файло-обменник и форум.
Статистика DCMS-Social.ru: Пользователей - 14971, тем на форуме - 30292, сообщений - 298888