imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 07.08.2005, 19:16     # 1
Hatifnatt
::VIP::
 
Аватар для Hatifnatt
 
Регистрация: 23.05.2005
Пол: Male
Сообщения: 1 064

Hatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех Гуру
Question Огранничение на скачивание файлов

Вопрос, как сделать ограничение на скачивание файлов (как на Wzor.net например), т.е. чтоб с одного IP могли тянуть например в 2 потока, и максимальное кол-во подключение не превышало допустим 10, итого имеем 5 юзеров. FTP сервер нет возможности сделать, можно только через HTTP, средствами .htaccess, PHP лучший вариант или Perl на крайний случай. Может есть какие-то другие варианы советуйте.
Второй вопрос, как лучше отслеживать количество скачиваний файлов дабы контролировать не в меру жадных.
Может быть это относится к антиличу, но помоему не совсем, поэтому и сделал новую тему. Мне важно не чтобы можно было скачать только с моего сайта, а важен контоль над скачиванием.

Всем заранее спасибо.
__________________
Умный не тот кто все знает, а тот кто знает где узнать то чего он не знает.
Life is only what you make it.
Hatifnatt вне форума  
Старый 07.08.2005, 23:51     # 2
RaZEr
МОД-Оператор ЭВМ
 
Аватар для RaZEr
 
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343

RaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех Гуру
Обычно делается настройками FTP или модулем для апача. Можно конечно и на php написать. Главное чтобы был выключен safe_mode().
RaZEr вне форума  
Старый 08.08.2005, 22:04     # 3
Hatifnatt
::VIP::
 
Аватар для Hatifnatt
 
Регистрация: 23.05.2005
Пол: Male
Сообщения: 1 064

Hatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех Гуру
Да понятно, а как именно? Какие-нибудь примеры или ссылочки туда, где об этом можно почитать, а то я почти не имею понятия с какого конца браться то.
__________________
Умный не тот кто все знает, а тот кто знает где узнать то чего он не знает.
Life is only what you make it.
Hatifnatt вне форума  
Старый 20.08.2005, 12:21     # 4
smap
Junior Member
 
Аватар для smap
 
Регистрация: 14.10.2002
Адрес: Samara
Сообщения: 84

smap Путь к славе только начался
Вообще о чем ты говоришь это и есть антилич.

С чего начать?

1) Закачка через скрипт ...

очень примитивно...

при одном потоке:
PHP код:
set_time_limit(0);
 
ob_implicit_flush(true);

  
$File_Download $_GET["file"]; // пусть к файлу
  
$kbat 5// скорость скачивания 

   
while (!feof($File_Download)) {

   if (
connection_aborted()) break;

   echo  
fread($File_Download, (1024 $kbat));

   
sleep(1);

    } 
fclose($File_Download); 
при много поточной чтуки, надо использовать что то типа етого:
(п.с работает только, если php установлен как модуль)
PHP код:
$header getallheaders();

  if (isset(
$header["Range"])) {

    
$from eregi_Replace("bytes=([0-9]+)-","\\1"$header["Range"]);
    
$length $size $from;
    
$range_start $size $length;
    
$range_end $size 1;

    
header ("HTTP/1.1 206 Partial Content");
    
header ("Last-Modified: $ftime");
    
header ("ETag: \"".md5_file($File)."\"");
    
header ("Accept-Ranges: bytes");
    
header ("Content-Length: $length");
    
header ("Content-Range: bytes $range_start-$range_end/$size");

 } else  
header("Content-Length: $size"); 
2) Написать код, который бы каждого кто скачивает, заносил бы в базу или в файл или вообще создавал просто пустые файлы... или обычную сессию в php .... ну вообщем вариантов много что быстрее хз,
потом проверяешь, сколько в данный момент скачивает сколько одновременно

Всё это очень груба... стуки в Пм .. поговорим если тебе ещё надо

3) IMHO лучше "настройками FTP или модулем для апача"

Последний раз редактировалось smap; 20.08.2005 в 12:26.
smap вне форума  

Опции темы

Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 02:18.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.