Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » В помощь вебмастеру » Защита ссылок (антилич/antileech/anti-leech/link protection)

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Открыть новую тему     Написать ответ в эту тему

Olesya2

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Появилось несколько сайтов которые ставят прямые ссылки на файлы моего архива как на свои собственные, при этом не ссылаясь на мой сайт. Они на этом зарабатывают, а я оплачиваю трафик.  
Есть ли скрипт, чтобы отсечь воров?
Может это можно сделать через идентификацию в форуме наподобие Вашего архива?

Сервисы и скрипты для защиты ссылок
(antileech)

 
Скрипты:

[Perl:]
Schlabo's Scripts - Download
dgmdan's anti_leech.pl
ZeeTox
ShotGun
Antileech
Download.cgi
 
[PHP:]
Antileech
phpNoLeech
Leecher (+MySQL)
DL Man
Download Protector
No Direct Links
 
[ASP:]
full anti_leech script
 
 
Службы:

http://www.anti-leech.com/  
http://leechbuster.com/  
http://www.antileech.net/  
 


Другие темы по скриптам на руборде:
 
Клиентские скрипты
Серверные скрипты

Скрипты поиска
Скрипты счетчиков посещений
Скрипты обмена файлами
Скрипты чатов
Скрипты фотогалерей
Скрипты новостей
Скрипты подписки/рассылки
Интернет-магазины
Дневники (блоги)
Скрипты гостевых книг
Скрипты голосований
Редактирование в браузере HTML-кода и веб-страниц
Скрипты служб знакомств
Баннерообменные скрипты
Whois-скрипты
Доски объявлений
Создание карты сайта
 
 
Скрипты, написанные пользователями нашего форума
(смотрите файловый архив форума)

 
ndl-0.5.zip by hamshen (PHP)

Цитата:
 
NDL - класс, который позволяет полностью контролировать процесс скачивания файлов с  сервера, путем сокрытия реального адреса файлов.
 
В зависимости от различных правил (ip, browser or download manager, http referrer, количество одновременных соединений, статус авторизации - их надо определить) вы можете разрешать или запрещать скачивать файлы.
 
Основный возможности:
 - сокрытие реального пути файла
 - поддержка докачки файлов
 - возможность отображать в браузере или вызвать диалог сохранения файла
 - генерация http-ошибок 403 (Forbidden) и 404 (Object Not Found)
 - возможность ведения лога
 - возможность настройки разрешенных рефереров
 - малая загрузка сервера
 - возможность сбора статистики (download manager, http referrer, объем скачанных файлов и т.д.)
 

Всего записей: 35 | Зарегистр. 08-02-2003 | Отправлено: 21:39 08-06-2003 | Исправлено: lynx, 01:07 18-06-2003
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
servicemobile

Цитата:
все скрипты, которые попадаются, отдают файло из локальной папки...

всего лишь небольшая модификация это исправит.
чем - не знаю, так как не использую. говорю как написал бы сам.

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 22:10 16-09-2007
servicemobile

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
времени заниматься этим не хватает.  
а ни у кого нет рабочего варианта? может даже за небольшой прайс)

Всего записей: 3 | Зарегистр. 16-09-2007 | Отправлено: 00:27 17-09-2007
Bulldo3er

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем привет, извините, что поднимаю тему, но обстоятельства заставляют.
В этом топике не раз задавался вопрос об использовании скрипта antileech.v1.0.nullified.and.modified.by.(GTT).rar, если файлы находятся на другом сервере. Думаю, многие поняли о чем я, но все же разъясню ситуацию на всякий случай:
- Сам скрипт установлен на сервере, где все хорошо работает, но возникла проблема с перегрузкой. Хостер говорит, что превышаю лимит, испробованы все пути уменьшения нагрузки... качают много. Решил покупать отдельный хостинг для файлов без поддержки PHP, MySQL.
Вопрос: Как заставить этот скрипт работать? Как указать ему обращаться через урл, а не локальный путь, подскажите что и где изменить, буду благодарен, как и многие те, кто столкнулся с такой же проблемой... Прошу помощи, ситуация у меня сейчас очень непростая

Всего записей: 7 | Зарегистр. 11-10-2007 | Отправлено: 00:44 13-10-2007
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Bulldo3er

Цитата:
Как заставить этот скрипт работать? Как указать ему обращаться через урл, а не локальный путь,

эм.. и что это изменит?

Цитата:
Сам скрипт установлен на сервере, где все хорошо работает, но возникла проблема с перегрузкой. Хостер говорит, что превышаю лимит, испробованы все пути уменьшения нагрузки.

лимит чего? что так, что эдак, файлы все равно будут идти через машину со скриптом.

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 01:49 13-10-2007
Bulldo3er

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery
Спасибо, понял, что это ничего не изменит.
Теперь возникла другая проблема, с сайтка качаются абсолютно все файлы размером 164 Б. Открываю файлы в текстовом редакторе, везде одна и та же ошибка:
 

Цитата:
<br /><b>Fatal error</b>:  Call to undefined function getallheaders() in <b>/home/francesc/public_html/all-cs/files/leech/download.php</b> on line <b>68</b><br />
 

 
Вот содержимое 68 строки и нескольких последующих:
 

Цитата:
$header = getallheaders();
if (isset($header['Range'])) {
    header('HTTP/1.0 206 Partial Content');
    $range = $header['Range'];
    $r = explode('=', $range);
    list($from) = explode('-', $r[1]);
    $length = $size - $from;
    $s_start = $size - $length;
    $s_end = $size - 1;
    fseek($fp, $s_start);
    header ('Content-Range: bytes '.$s_start.'-'.$s_end.'/'.$size);
    header ('Content-Length: '.$length);
 

Пробовал просто закоментировать 68 строку, файлы качались, но большое кол-во народу не могло скачать более 1 файла (одновременное кол-во закачек - максимум 1, но они качали после того, как одна закачка уже была завершена). У меньшего кол-ва народу файлы нормально качались.
 
Подскажите, пожалуйста, решение этой проблемы. Что и где мне нужно подправить, чтобы все файлы качались нормально, один за другим.
 
 

Всего записей: 7 | Зарегистр. 11-10-2007 | Отправлено: 23:11 24-10-2007
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Bulldo3er
похоже, что php стоит как cgi, а не как модуль


----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 01:04 25-10-2007
ranc



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Bulldo3er
У меня тоже как CGI стоит. Я вставил такой код:
 

Код:
 
/* $header = getallheaders();
*/
function emu_getallheaders() {
  foreach($_SERVER as $h=>$v)
      if(ereg('HTTP_(.+)',$h,$hp))
          $headers[$hp[1]]=$v;
  return $headers;
}
 
$header = emu_getallheaders();
 

дальше как было.

Всего записей: 552 | Зарегистр. 06-02-2003 | Отправлено: 05:47 25-10-2007
Bulldo3er

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Не помогло, все равно пишет, что потоков с вашего IP 1 и больше нельзя, т.е. после скачивания файла не обнуляет. Прошу помощи
 
Добавлено:

Цитата:
На одном форуме мне сказали, что возможно php стоит как cgi

Все верно, у нас используется аналогичная связка suPHP.
---
Это ответил хостер. Может кто-нибудь помочь с решением проблемы?

Всего записей: 7 | Зарегистр. 11-10-2007 | Отправлено: 10:09 25-10-2007
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Bulldo3er

Цитата:
больше нельзя, т.е. после скачивания файла не обнуляет.

обнуляет что? я не вижу, чтобы в том куске кода, который ответственнен за выдачу части файла, что то обнулялось.

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 20:28 25-10-2007
Bulldo3er

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Объясню на примере:
Нажимаю скачать файл. Файл скачивается. По идеи, можно приступать к закачке следующего, ан нет... скрипт говорит, что закачка все еще идет и так до смены IP
 
Что посоветуешь?

Всего записей: 7 | Зарегистр. 11-10-2007 | Отправлено: 23:26 25-10-2007
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Bulldo3er

Цитата:
Что посоветуешь?

еще раз.. ничего не по советую. так как не телепат и не знаю как это реализовано в коде и какие причины такого срабатывания.


----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 23:35 25-10-2007
Bulldo3er

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery
Если дам ссылку на антилич в личку, то можешь посмотреть? Посетители все сильней жалуются, самому уже неловко... Ведь на локалке все замечательно работало

Всего записей: 7 | Зарегистр. 11-10-2007 | Отправлено: 23:21 26-10-2007
IISSBB

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
У меня есть Win2003Server, там крутится Web-сервер на IIS, есть PHP+MySQL, плюс ещё ISAPI Rewrite (аналог mod_rewrite)
Необходимо реализовать выдачу ссылок на большие файлы (700-900 МБ), которые бы были рабочими только для того, кому они были выданы.
В противном случае - если человек передал свою ссылку кому-то ещё - выдавалось бы сообщение - "Неверная ссылка" или что-то в это духе, но это не важно.
В общем, как это реализовано на ifolder.ru или любых других файлообменных серверах. Просто интересно, как это реализовать. Подайте саму идею, что да как.
 
Мне пока пришёл в голову только такой механизм:
 
1) Генерирую ссылки в зависимости от IP пользователя и времени получения ссылки вида: http://site.ru/строка_идентифицирующая_пользователя/название_файла.ext
2) ISAPI Rewrite по такому правилу:
 

Код:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://(www\.)?site.ru
RewriteRule .*\.(?:avi|rar|zip|3gp|msi|iso|mpg) /hidden.php [NC]

 
подхватывает эту ссылку и переводит её на скрипт /hidden.php
 
3) В скрипте из $_SERVER[HTTP_X_REWRITE_URL] выдирается "строка_идентифицирующая_пользователя" и из неё выбираются (расшифровываются) параметры пользователя, а после сравниваются с теми параметрами, которые посчитает сам скрипт и если все true - то выдаётся файл вот таким вот образом:
 

Код:
if (!file_exists($path)){
    header ("HTTP/1.0 404 Not Found");
    exit;
}
 
$fd = @fopen($path, "rb");
 
if (!$fd){
    header ("HTTP/1.0 403 Forbidden");
    exit;
}
 
$ftime = date("D, d M Y H:i:s T", filemtime($path2));
 
if (@$_SERVER["HTTP_RANGE"]){
    @$range = $_SERVER["HTTP_RANGE"];
    @$range = str_replace("bytes=", "", $range);
    @$range = str_replace("-", "", $range);
    if (@$range){
        fseek($fd, @$range);
}
 
header("Content-Type: application/x-download");
header("Content-Transfer-Encoding: binary\r\n");
header("Accept-Ranges: bytes");
header("Content-Disposition: attachment; filename=$filename");
header("Last-Modified: $ftime");
header("Content-Length: ".($size-$range));
header("Content-Range: bytes $range-".($size -1)."/".$size);
header("Content-type: application/octet-stream");
         
if (@$range){
    header("HTTP/1.1 206 Partial Content");
}else{
    header("HTTP/1.1 200 OK");
}
    
set_time_limit(0);
 
$fd = @readfile($path2, "rb");
 
$content = fread($fd, $size)
 
fclose($fd);

 
Но такой вариант не подходит, потому как файл начинает передаваться через скрипт. А нужно чтобы передача производилась так же, если бы выдавалась прямая ссылка на файл.

Всего записей: 3 | Зарегистр. 05-09-2007 | Отправлено: 16:38 29-10-2007
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
IISSBB

Цитата:
Но такой вариант не подходит, потому как файл начинает передаваться через скрипт. А нужно чтобы передача производилась так же, если бы выдавалась прямая ссылка на файл.

если система *nix, то можно почитать про символические ссылки.
иначе - только через скрипт.

Цитата:
$fd = @readfile($path2, "rb");
 
$content = fread($fd, $size)
 
fclose($fd);

???
зачем fread??

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 18:04 29-10-2007
IISSBB

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
???  
зачем fread??

А как ещё можно сделать возможность докачки файла?
 
То есть в принципе, такой механизм решается только при помощи символьных ссылок? А как же тогда делается привязка по IP-адресу или каким либо иным параметрам? Эти данные указываются в имени ссылки в зашифрованном виде и также потом из него восстанавливаются? (http://ifolder.ru/download/222/?3918742&dVcRDAL7wBuDl0EivTDrvw%3D%3D)
 
Получается вот это "3918742&dVcRDAL7wBuDl0EivTDrvw%3D%3D" мои параметры?

Всего записей: 3 | Зарегистр. 05-09-2007 | Отправлено: 18:16 29-10-2007
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
IISSBB

Цитата:
Эти данные указываются в имени ссылки в зашифрованном виде и также потом из него восстанавливаются?

вполне возможно.

Цитата:
А как ещё можно сделать возможность докачки файла?  

readfile уже выводить все в буфер
нужна докачка
fopen
fseek
fpassthru
ну, ессно, при этом нельзя качать кусками.


----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 18:34 29-10-2007
Bulldo3er

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Друзья, кто-нибудь может помочь решить мне мою проблему с антиличим от GTT? Готов немного заплатить.

Всего записей: 7 | Зарегистр. 11-10-2007 | Отправлено: 19:16 29-10-2007
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Bulldo3er

Цитата:
Готов немного заплатить.

Работа для веб-мастера (объявления от РАБОТОДАТЕЛЕЙ)

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 20:24 29-10-2007
BAZIL



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Cheery
Сделал вот такую штуку:
 

Цитата:
<?php
 
    $path2 = "C:\\file.avi";
 
    $from=$to=0; $cr=NULL;
 
    if (isset($_SERVER["HTTP_RANGE"])) {
        $range=substr($_SERVER["HTTP_RANGE"], strpos($_SERVER["HTTP_RANGE"], '=')+1);
        $from=strtok($range, "-");
        $to=strtok("/");
        if ($to>0) $to++;
        if ($to) {$to-=$from;}
        header("HTTP/1.1 206 Partial Content");
        header("Content-Range: bytes " . $from . "-" . (($to)?($to . "/" . $to+1):filesize($path2)));
        header("Content-Length: " . (filesize($path2)-$from));
        header("Range: bytes=" . $from . "-");
    } else    {
 
        header("HTTP/1.1 200 Ok");
    
    }
 
    header("Accept-Ranges: bytes");
 
    $etag=md5($path2);
    $etag=substr($etag, 0, 8) . "-" . substr($etag, 8, 7) . "-" . substr($etag, 15, 8);
    header("ETag: \"" . $etag . "\"");
 
    header("Connection: close");
    header("Content-Type: application/x-download");
        header("Content-Transfer-Encoding: binary\r\n");
    header("Last-Modified: " . gmdate("r", filemtime($path2)));
    $f=fopen($path2, "r");
    header("Content-Disposition: attachment; filename=\"" . basename($path2) . "\";");
    if ($from) fseek($f, $from, SEEK_SET);
    if (!isset($to) or empty($to)) {
        $size=filesize($path2)-$from;
    } else {
        $size=$to;
    }
    $downloaded=0;
    while(!feof($f) and !connection_status() and ($downloaded<$size)) {
        echo fread($f, 512000);
        $downloaded+=512000;
        flush();
    }
    fclose($f);
 
?>

 
Докачка всё равно не работает. С сервера приходит header : HTTP/1.1 200 OK вместо HTTP/1.1 206 Partial Content и соответственно, начинается загрузка нового файла размером меньше на значение переменной $from.

Всего записей: 459 | Зарегистр. 13-05-2002 | Отправлено: 19:33 11-11-2007
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BAZIL

Цитата:
С сервера приходит header : HTTP/1.1 200 OK вместо HTTP/1.1 206 Partial Content и соответственно, начинается загрузка нового файла размером меньше на значение переменной $from.

и?? я то тут при чем?  
очевидно, что не выполняется

Цитата:
if (isset($_SERVER["HTTP_RANGE"]))



----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 22:59 11-11-2007
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Компьютерный форум Ru.Board » Интернет » В помощь вебмастеру » Защита ссылок (антилич/antileech/anti-leech/link protection)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru