ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   PHP (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Принцип работы антиличеров... (https://forum.antichat.xyz/showthread.php?t=8528)

nerezus 03.08.2005 17:08

Перл с 6 версии - компилируемый, кстати. Сейчас начну читать документацию по перл6(он еще не вышел) :)

Trinux 03.08.2005 17:16

Перл вроде и раньше был компилируемый, но я могу ошибаться =)) Вообщем, как ты понял, прога должна принимать параметры, сверять их и отдавать файл из указанной диры, нужно иметь возможность контролировать трафик (кол-во потоков, ограничение по скорости в зависимости от региона итп). И если все ок, то можно будет двигать продукт как очень не плохой аналог nginx для сайтов-антиличеров. Может показаться сложным ограничивать трафик\скорость в зависимости от географии пользователя, на самом деле там должно быть все очень просто. Главное написать ограничитель по скорости, а табличку "диапазон_IP - география пользователя" достать не сложно =)

nerezus 03.08.2005 17:33

все кроме ограничения трафика пишется парой строк =)
с ограничением трабла... стандартные модули не смогу переписать, умения наверно не хватит...

Trinux 03.08.2005 18:18

Не ограничение по трафу я хотел сказать, а по скорости. тут ничего тоже сложного быть не должно. Просто скорость ограничить сможешь? Например через каждые 20 послыннах килобайт делать sleep() на там пол секунды. Расчитать влияние пропорции времени задержки на скорость скачивания и все =)

nerezus 03.08.2005 18:31

это-то понятно, просто чтобы найти этот кусок в исходниках веб-сервера =)
одна мысль мутит =)

Trinux 03.08.2005 18:47

Не бойся сложностей и все у тебя получится =)

DareDEVIL 25.08.2005 12:31

А если чанками отдавать:? то етсь не грузить 20 метров для каждого желающего, а как для докачки -- допустим выкачал 200 Кб, подгрузил еще 200.

Cr4sh 26.08.2005 11:00

Цитата:

Сообщение от Trinux
1. Первый - полностью скрывает местонахождения файла. Скрипт проверяет всякие данные (реферер там итп), потом генерит нужные заголовки и открывает файл в браузер, т.е. не редиректит на него, а прям открывает. Способ 100%, никаких проблем. Очень высокая гибкость, можно контролировать число потоков и много еще чего =) Минус в том, что... извените... открывать скриптом файл в 20 метров и отдавать его браузеру. Впринципе нет проблем, но если желающих много? =)))

Прорсто допиши в хидер страницы
Accept-Ranges: bytes
Content-Length: <размер_файла_в_байтах>
Content-Type: text/plain
(see HTTP RFC) а дальше просто как не в чём не бывало выводи в браузер содержимое файла, т.к. пользователя редиректить на файл напрямую не будет, УРЛ он не узнает, а для браузера или довнлод-мененджера вообще не будет разницы, что ты передаш ему файл таким способом, что укажеш урл вроде site.ru/downloads/file.rar

Цитата:

Сообщение от Trinux
2. Второй - тоже проверяет всякие данные, но потом просто редиректит пользователя на нужный файл. Т.е. пользователь узнает путь до файла, дает прямую линку и тьма народу его качает напрямую. это уже не антилич даже, но многие гордо пишут над такими скриптами, мол это все же антилич. Ну хз...

ой, а где тут антилич? =)

Цитата:

4. Это вообще способ для полный психопатов =))) но все же =)
Идея была такова.
При заходе на сайт личера создается файл в каталоге, ну пусть, ./ip/ с IP адресом зашедшего. Имя файла - md5 хеш IP адреса + какого-то текста, постоянного. И кидается ссылка на файл вида http://hty683hcn70cj3hfgl7js6b8g0m4j....ru/winrar.exe
далее в конфиг апача с mod_rewrite прописываем несколько правил. Сначало RewriteCond, которая определит строку поддомена, затем RewriteMap подключит нужный нам файл из дериктории ./ip/ и прочтет соответственно IP. Затем снова парочка RewriteCond, которые сверят IP и, доппустим, реферера и только потом RewriteRule которая редиректит пользователя на нужный файл =)))) Способ не столь гибкий как первый, но зато нагрузка, думаю, значительно ниже. Только тут для каждого IP своя ссылка получается, хотя это тоже настраивомо...
:eek: зачем же так над собой изврашаЦЦа =) а если у тебя несколько пользователей будут качать один архив весом метров этак 200, то здесь никакой дисковой квоты не хватит =)

nerezus 26.08.2005 11:15

Цитата:

Прорсто допиши в хидер страницы ContentType: file (see HTTP RFC) а дальше просто как не в чём не бывало выводи в браузер содержимое файла, т.к. пользователя редиректить на файл напрямую не будет, УРЛ он не узнает, а для браузера или довнлод-мененджера вообще не будет разницы, что ты передаш ему файл таким способом, что укажеш урл вроде site.ru/downloads/file.rar
ну он это и написал =)))


Время: 23:09