Перейти к публикации

Повторная отправка запросов


Рекомендованные сообщения

Мучает такая проблема: если браузер подвис, точнее страница сайта и ее пытаюсь обновить, то запросы повторяются, поскольку кешируются браузером, судя по всему. Например, отправил личку, перегрузил страницу - пользователь опять получил дубль и так столько раз, сколько обновил страницу. Нажми я на Ф5, все пользователи бы офигели: за секунду тыщу сообщений бы каждому (хотя, нет - лимит на сотню стоит), кому что-либо отправлял.

У себя в моде проблему решил таким образом: после получения и отправки запросов, через Иннер обнуляю поля, проверяю промежуток времени (если менее часа), проверяю записанный во временный файл кеш на отправку похожих ПОСТОВ и ГЕТОВ, если они одинаковы, то скидываю отправку.

В общем, не знаю, к чему это можно отнести - к недоработке, багам или чему-то еще, но на всякий случай решил написать об этом. Проблема вполне решаема и проблема действительно есть: злоумышленник таким образом может просто заддосить сайт, как мне кажется, либо засрать его к чертовой матери, например, при отправке своего поста, потом весь этот мусор замучаешься вычищать :lol:

Ссылка на сообщение
Поделиться на других сайтах

При чём тут капча? :D Я ее убрал для зарегистрированных, при чём для админов ее тоже нет, вдруг кто случайно из админов нажмет "обновить страницу" или не случайно, если также страница подвиснет?

Ссылка на сообщение
Поделиться на других сайтах

При чём тут капча?

при том что повтрорные запросы не будут приниматься

Я ее убрал для зарегистрированных, при чём для админов ее тоже нет

вдруг кто случайно из админов нажмет "обновить страницу" или не случайно,

вы сами поняли что написали? Вы зачем то убрали каптчу для админов, если при этом допускаете неслучайный ими спам. Хорошие у вас админы на сайте в таком случае, слов нет.

если также страница подвиснет?

то вас не спасет

У себя в моде проблему решил таким образом: после получения и отправки запросов, через Иннер обнуляю поля, проверяю промежуток времени (если менее часа),

т.к. это попросту не будет иметь никакого действия, и по F5 поля страницы не проверяются браузером, он шлет повторно предыдущие данные, да и в зависшем браузере JS не выполняется. DLE после таких запросов вообще убирает форму со страницы, это же не мешает слать данные повторно.

проверяю записанный во временный файл кеш на отправку похожих ПОСТОВ и ГЕТОВ, если они одинаковы, то скидываю отправку.

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

Поэтому все это ерунда, каптча единственный надежный инструмент против спама. Ну и плюс ограничения в настройках групп на количество отправляемых сообщений.

Ссылка на сообщение
Поделиться на других сайтах

вы сами поняли что написали? Вы зачем то убрали каптчу для админов, если при этом допускаете неслучайный ими спам. Хорошие у вас админы на сайте в таком случае, слов нет.

Сам понял. Делал модуль "Переходы" и столкнулся с этой бедой: десятки одинаковых переходов получал.

Несколько раз сам жал "обновить страницу", потому как на моем корявом соединении иногда обрывы бывают и страницы полностью недогружаются, а недавно случайно заспамил таким образом одного зарегистрированного пользователя по личке, даже не зная об этом, а он, видимо, психонул и удалился. В общем понял, - я дурак (давно знаю - ошибка природы :D ), а CMS дорабатываться не будет. На этом тему можно закрыть - обсуждать тут больше нечего: про косяк сообщил, а дальше - дело хозяйское :)

Ссылка на сообщение
Поделиться на других сайтах

Сам понял. Делал модуль "Переходы" и столкнулся с этой бедой: десятки одинаковых переходов получал.

так это совсем другая тема, здесь нужно делать механизмы защиты от накрутки, а не проверкой POST или GET запросов заниматься. Нужно делать учет по IP.

а недавно случайно заспамил таким образом одного зарегистрированного пользователя по личке, даже не зная об этом, а он, видимо, психонул и удалился.

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

Несколько раз сам жал "обновить страницу", потому как на моем корявом соединении иногда обрывы бывают и страницы полностью недогружаются

правильно, для этого и нужно иметь возможность повторной отправки. Откуда вы знаете когда произошел обрыв, до непосредственной отправки сообщения или после? Так лучше два раза получить сообщение в таких редких случаях чем совсем не получить. Более того когда произошел обрыв вы так и так будете делать повторную отправку, т.к. незнаете получил например я сообщение или нет. Так что лучше один раз нажать на F5 или идти опять на страницу и опять писать сообщение? Ответ я думаю очевиден.

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...