Ограничения по времени
Новости Правила Дерево MP3 ЧаВО Форум

. 1 5 7 A B C D E F G H I J K L M N O P R S T U V W X Y Z Б В Д З К Л Н С Т Х Ч

C 08.09.2000 на странице введено дополнительное ограничение при обращении к файлам:
Пользователь обязан загружать http://kot.spb.ru/mp3/ или любой из элементов дерева списка файлов, расположенных на данном сервере, в течение последних 7 суток.

Для чего это сделано:
Уже давно я замечал некоторое (достаточно большое) количество обращений к файлам, пришедшим в обход моего сервера. Люди попадали с различных поисковиков и страниц других людей, ставивших ссылки прямо на мои файлы. В свое время проблема была частично решена с использованием mod_rewrite и проверкой Referer. Но, к сожалению, это не всегда помогает, так как многие используют программы типа ReGet, wget и так далее, которые не сообщают адрес откуда получена ссылка. Одной из проблем, создаваемых такими пользователями, является то, что люди не читают правил и часто нарушают ограничение на количество одновременных соединений. Таким образом, введя данное ограничение, я расчитываю на то, что большая часть пользователей будет проходить через основную страницу с правилами, и уменьшится количество нарушителей, что должно несколько облегчить скачивание файлов.

Как это работает:

  1. При загрузке любой части списка файлов выполняется CGI-скрипт, сохраняющий ваш IP адрес и время обращения. При повторном обращении обновляется только время.
  2. При обращении к mp3 файлу проверяется наличие вашего IP адреса среди сохраненных. Если адрес найден - отдается файл, иначе - пользователь перенаправляется на соответствующую страницу.
  3. Если проверка прошла успешно, проверяется количество активных соединений. При превышении ограничения на количество активных соединений, равного 3, для пользователя увеличивается количество ошибок. При достижении 16 ошибок пользователю запрещается доступ на одни сутки. Если количество активных соединений не было превышено, количество ошибок сбрасывается.

Проблемы:

  1. В случае, если у пользователя адрес динамический, он обязан заходить на сайт после каждого обрыва связи.
  2. Все пользователи при скачивании большого числа файлов со страницы обязаны раз в неделю загружать список файлов.
  3. Если вы просматриваете список с одного адреса, а качаете файлы с другого, вы обязаны загрузить на той машине, с которой качаете файлы, список файлов.
  4. Если у вас используется proxy, состоящий в родственных связях с другими proxy, возможно возникновение трудноотлавливаемых проблем при обращении к файлам.
  5. Если у провайдера используется transparent proxy, который не передает X_FORWARDED_FOR для своих клиентов, для скачивания файлов необходимо указать провайдерский прокси. С большой вероятностью такая ситуация имеет место если Вы не видите свой адрес среди этих: 127.0.0.1

Проверка наличия адреса в списке реализована в виде модуля mod_limusers для apache. В сумме для реализации всего алгоритма потребовалось немногим более 200 строчек кода на C. Если вы сможете убедить меня в том, что вам нужен исходный текст модуля, он может быть выслан почтой.

Homepage
Comments are welcome to MATPOCKuH