Могут ли пользователи / боты спамить исполнения mp3 и тратить трафик? - PullRequest
0 голосов
/ 07 апреля 2010

Привет, ребята, в настоящее время я представляю свои mp3-файлы, ссылаясь на расположение их файлов во флэш-mp3-плеере для пользователей. Возможно ли пользователям / ботам заходить на ваш сайт и каким-то образом непрерывно выполнять mp3-файлы и снижать пропускную способность? Если так, как вы можете предотвратить это? (Я программирую на php). Заранее спасибо за любой совет.

Ответы [ 4 ]

3 голосов
/ 07 апреля 2010

Я полагаю, что если флэш-плеер загружает mp3 с вашего сервера, то есть способ загрузить mp3-файлы с вашего сервера.

Это означает, что, зная их URL, боты (или даже реальные пользователи) могли их скачать.

Учитывая, что тот, кто слушает музыку с помощью вашего плеера, не должен загружать более одного mp3-файла каждые 3 минуты или около того (ну, не следует идти быстрее, чем музыка ^^) , вы могли бы поставить некоторые чеки на место, например:

  • не позволяет загружать более X mp3-файлов за N минут - например, более 5 mp3-файлов за 3 минуты - это странно
  • не разрешать загрузку со скоростью, превышающей заданную * (например, 3 МБ / мин, вероятно, намного больше, чем нужно вашему пользователю)
  • не разрешается загружать более 2 или 3 mp3-файлов одновременно (маловероятно, что кто-то будет слушать несколько песен параллельно ^^)
2 голосов
/ 07 апреля 2010

Это очень высокоуровневый ответ, поскольку я не знаком со спецификой того, что вы делаете, но на самом деле ничто не мешает боту постоянно запрашивать файл, если он может каким-то образом определить, где он находитсяхранится на сервере (URL).Как подсказывает Игнасио, в источнике swf можно сделать несколько вещей, чтобы он не запрашивал файл постоянно, но если они могут найти местоположение файла на сервере, они могут все вместе обойти swf.То, что я хотел бы предложить, - это создание некоторой страницы шлюза (в php), которая выполняет своего рода проверку, чтобы увидеть, был ли запрошенный файл запрошен клиентом (возможно, IP-адрес *) в последние X минут.Если проверка в порядке, то скрипт php может обработать поток данных для клиента, если нет, то он отклонит запрос и не предоставит доступ к данным.Тем не менее, вы по-прежнему уязвимы в том случае, если они могут определить фактическое местоположение файла.Возможно, вы захотите настроить какое-то правило сервера для пересылки всех запросов, заканчивающихся на .mp3, в файл шлюза для предотвращения прямого доступа.

* Следует отметить, что если вы собираетесь реализовать какую-то скоростьпроверяя, нужно быть очень осторожным в том, как ты это делаешь.Один IP не достаточно хорош, потому что если у вас есть группа пользователей за одним и тем же шлюзом NAT (например, в корпорации), и, несмотря на то, что на самом деле 20 уникальных пользователей запрашивают один и тот же файл, запросы на самом деле только приходятс одного IP-адреса.В идеале вы можете использовать некоторую комбинацию данных пользовательского агента вместе с IP-адресом или, возможно, некоторую информацию о сеансе.

Надеюсь, это поможет!

1 голос
/ 07 апреля 2010

Да, для бота это тривиально возможно.

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

1 голос
/ 07 апреля 2010

Если ваш Flash-плеер (разумно) не кэширует MP3 на стороне клиента, я бы сказал, что пришло время найти новый плеер ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...