Pull to refresh

Об ограничениях

Reading time2 min
Views660
Как мы знаем из теории о пресловутом web 2.0, для пользователя не должно быть ограничений в ресурсах. Сервис размещения фотографий? Не должно быть ограничения по количеству загруженных фотографий. Сервис закладок? Не должно быть ограничений в количестве закладок. Так можно продолжать очень долго — все сводится к тому, что процессорное время и место на жестком диске в теории бесплатное.

Но часто и на веб.два.нольных ресурсах, и на обычных сайтах (один из ярких примеров — форумы) мы сталкиваемся с довольно глупыми ограничениями. Я не буду рассматривать всю палитру «запретных плодов», опишу только один ярчайший пример:

«Этот форум требует ожидания 60 секунд до нового поиска. Вам осталось подождать 56 секунд до нового поиска.», vBulletin

Как вы поняли из текста ошибки — это ограничение частоты поисковых запросов.

Чем оно вызвано? Создатель движка считает, что если пользователь будет слишком часто использовать поиск, то он создаст слишком большую нагрузку на сервер. Вообщем-то вполне логично, на поиск серверу требуется затратить много сил. И собственно говоря основной проблемой являются не пользователи, а боты злоумышленников.

У меня эта ошибка выскакивает очень часто при использовании всевозможных форумов, меня довольно сильно напрягает ждать по полминуты, даже по несколько секунд. Я использую определенный форум несколько раз в сутки (сессиями) — каждый раз делаю несколько поисковых запросов подряд — несколько раз попадаю на ошибку. Это недоделка в юзабилити — причем серьезная — нельзя пользователя просто так заставлять ждать.

Какое решение? Очень простое. Делать ограничение не «максимально 1 запрос за 1 минуту», а, например, «максимально 60 запросов за 60 минут (час)». Таким образом, я со своими несколькими запросами не буду получать за свою сессию с 3-4 поисками подряд ошибок вообще, а боты как отваливались, так и будут отваливаться. Для особо активных пользователей можно при превышении «60 за 60» предложить ввести капчу еще на 60 запросов вперед (при превышении «1 за 1» капча — не решение, т.к. опять же приходится отнимать у пользователя время).

Итог: если раньше пользователь делает 5 нужных ему поисковых запросов за 5 минут с выплевыванием ошибок, то теперь он это делает за 1 минуту. Боты как не проходили — так и не проходят.
Tags:
Hubs:
+37
Comments34

Articles