Помощник
|
Антилич для файлов |
lexan
|
Сообщение
#1
|
||
|
|
||
|
|||
Lordie |
29.7.2008, 13:34;
Ответить: Lordie
Сообщение
#2
|
|
Неадекватный раздел, устное предупреждение.
|
|
|
woolf |
29.7.2008, 13:37;
Ответить: woolf
Сообщение
#3
|
|
Это оно ?
<? /* ANTILEECH v0.1.1 (dirty) © 2005 d0pz.com http://www.d0pz.com ****************************************** История: v0.1 (09.05.05) - Начало проекта v0.1.1 (11.05.05) + Добавлена докачка файлов ****************************************** */ // Настройки $antiurl = "d0pz.com"; // Разрешённые сайты (referer). $antidir = "test/"; // Папка где находятся защищённые файлы / - обязательно в конце. //$logfile = "log.htm"; // Eсли хотите вести лог удалите // перед строкой. Файл логов (должен быть 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!"); $cnr_date = date("l d F H:i:s"); $cnr_counter = $logfile; $cnr_fp = fopen($cnr_counter, "a"); $cnr_hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']); if ($_SERVER['HTTP_REFERER'] == "") { $cnr_ref = "BLOCKED"; } else { $cnr_ref = "<a href=\"" . $_SERVER['HTTP_REFERER'] . "\">" . $_SERVER['HTTP_REFERER'] . "</a>";} $cnr_data = "<font color=\"green\">" . $_SERVER['REMOTE_ADDR'] . "</font> HOST <font color=\"red\">" . $cnr_hostname . "</font> visited on " . $cnr_date . " linked by " . $cnr_ref . " <br>"; fputs($cnr_fp, $cnr_data); fclose($cnr_fp); } // Проверка реферера $mtu = "PGg2PjxhIHN0eWxlPSd0ZXh0LWRlY29yYXRpb246bm9uZTsgY29sb3I6Izk5MDAwMCcgaHJlZj0 naHR0cDovL3d3dy5kMHB6LmNvbSc+QW50aWxlZWNoIHYwLjE8L2E+PC9oNj4="; $c = base64_decode($mtu); if (!strstr($_SERVER["HTTP_REFERER"], $antiurl) or !isset($_SERVER["HTTP_REFERER"])) {echo '<html><p></p>' . $c . '<p></p></body></html>'; exit;} if (is_numeric($_GET["down"])) { /************НАЧАЛО ФАЙЛОВ******************************************************************** ****** */ // Здесь идут файлы для скачивания if ($_GET["down"] == 1) $filename = "test.rar"; elseif ($_GET["down"] == 2) $filename = "test2.rar"; elseif ($_GET["down"] == 3) $filename = "test3.rar"; /************КОНЕЦ ФАЙЛОВ******************************************************************** ****** */ //Находим окончание файла $split= explode(".", $filename); $textcount= substr_count($filename, ".")+1; // $ttype =$split[$nextcount]; // Создается ссылка на файл $path = $antidir . $filename; // Проверка файла есть он или нет if (!file_exists($path)) { echo "Файл '$filename' не существует."; echo $c; exit; } $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($fd, filesize($path)); fclose($fd); if ($range) { header("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 { echo "Недействительный файл."; echo $c; } } exit; ?> -------------------- (ВЫ) |
|
|
lexan
|
Сообщение
#4
|
|
Спасибо. но это немного не то. Тут я так понимаю каждый файл который нужно защитить добавлять в список надо.
// Здесь идут файлы для скачивания if ($_GET["down"] == 1) $filename = "test.rar"; elseif ($_GET["down"] == 2) $filename = "test2.rar"; elseif ($_GET["down"] == 3) $filename = "test3.rar"; Мне каждый файл нужно прописывать чтоли сюда? Находил я другие они автоматом делают проверку есть файл или нет. Только там 1 минус. Нет докачки Сообщение отредактировал Lordie - 29.7.2008, 13:59 |
|
|
Lordie |
29.7.2008, 13:59;
Ответить: Lordie
Сообщение
#5
|
|
|
Ну, во-первых, проверка, существует ли файл там есть... А все остальное - можно и ручками дописать, не трабла. А вообще, нечетка задача - нечетко решение...
Сообщение отредактировал Lordie - 29.7.2008, 14:00 |
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Betatransfer.net - прием платежей для HIGH RISK проектов, интернет эквайринг и мерчант онлайн оплат | 55 | arendator | 34988 | Сегодня, 2:12 автор: arendator |
|
Rebex.io – Ваша инновационная платформа для обмена криптовалюты! | 3 | Rebex | 945 | Вчера, 20:50 автор: Rebex |
|
Посоветуйте массажер для спины и шеи | 10 | Boymaster | 895 | Вчера, 18:02 автор: Boymaster |
|
Обучение Email Рассылкам + Софт Для Автоматизации (100к в сутки с сервера) | 10 | zennoboss | 4654 | Вчера, 5:20 автор: Skyworker |
|
Какой % отказов нормален для сайта? | 14 | Aloof | 3382 | 23.4.2024, 13:50 автор: Vmir |
Текстовая версия | Сейчас: 25.4.2024, 3:51 |