Просмотр полной версии : Ограничение скачки на IP
Есть ли скрипт или хз что, который ограничевает пользователя в подключениях (на каждый IP)?
Например чтобы скачивали файл не больше чем 3-конекта-на-IP или 1 вообще...
Как это можно реализовать?
во всех нормальных фтп серверах это должно быть в настройках реализовано
Jlamepok
08.12.2004, 09:48
сессиями... шифруй папку и потом спомощью db проверяй (все на самом деле просто, но что бы обьяснить надо много времени)
quaker скачивается с http a не с ftp
Jlamepok бррр, сессиями... шифруй папку и потом спомощью db проверяй спасибо конечно но нифига непонятно (для меня покрайней мере)
DJLOVE
Как вариант - делай в http-сервере перенаправление с нужного файла (exe, dll и проч.) на специальный скрипт (при помощи mod_rewrite в apache, например), который:
1. проверяет, запущен ли этот скрипт с этого ip уже - смотрит, записан ли этот ip где-нибудь, например, каком-то файле или БД (если да - конец скрипта)
2. записывает текущий ip в то самое место (файл или БД)
3. передает нужный файл
4. стирает из того самого места текущий ip.
DJLOVE
а web сервер какой? apache?
qwebec угумс, апачи и все причендалы :biggrin:
DJLOVE
В принципе можно даже без перенаправления: размещаешь файло НЕ в web-пространтсве (т.е. не в папке, к которой можно обратится через http, а где вне корня web-сервера), а для скачки файла рисуешь свой скрипт, например, download.pl и вызывается он, например, так: download.pl?utilities/cd/burner/nero/6.6.0.3/setup.exe, а делает этот скрипт то, что я описал выше...
Fiery_Fenix
09.12.2004, 03:16
Ghost:
размещаешь файло НЕ в web-пространтсве
Это не обязательно, просто закинуть в ту папку где файлы .htaccess с параметрами deny from all.
А вообще я бы сделал скрипт который принимает в GET в виде параметра id файла (все остальные атрибуты хранятся в БД), затем добавляет/проверяет в спец. табличке запись вида (id, ip, count), если count больше заданого - 404/403, меньше - отдает Content Header и добавляет к count 1.
Jlamepok
09.12.2004, 10:16
DJLOVE Ну вот смотри...
есть папка у тя например ./www/download/musik/
вот ты ее никому не показываешь, а в ссылках, например генеришь в зависимости от сессии - например на 30 минутак ссылку типа http://yoursite.com/29sdfghlkj43987klhdsg97843/1.mp3, вся эта абракадабра - сессия юзверя которая выдаеться либа мд5 + юнитайм, либо sessionstart();.. - это раз
два есть в бд таблица например site_session - в ней колонка dwd_id - вот если он че-нить качает - туда вноситься например 1.mp3|2.mp3|3.mpeg, - после чего когда скрипт обновляеться - кум-нить другим - идет проверка на count(explode("|",$r['dwd_id'])); - вот так - если больше $max_dwd_num (=2), значит - выдать вместо замаскированной папки - мессагу ху*я и тот кто качает - подождет пока закачаеться первый файл, после только начнет качать фторой...
а вообще посмотри антилич
DJLOVE
мне кажется решение в установке дополнительных модулей типа mod_limitipconn
vBulletin® v3.8.5, Copyright ©2000-2024, Jelsoft Enterprises Ltd.