VBsupport перешел с домена .ORG на родной .RU
Ура!
Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей
Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже: Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота. Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
Поставил 4.0.4, голую без модов и хаков.
Так вот у некоторых пользователей дублируются сообщения. Т.е. при отправке одного, появляется два одинаковых. И самое главное такое происходит не у всех, а только у нескольких.
Порылся по поиску, нашел несколько похожих проблем, но решения так и не увидел.
Че делать-то? Бегать за пользователями подтирать дубли уже надоело.
Паниковать. Ну или пытаться ускорить форум настолько, чтобы дубли появлялись минимально.
Проверка дубликатов выполняется несколько раньше чем вставка в таблицу хешей. Если браузер пользователя по неизвестной причине посылает два запроса за короткий промежуток времени, то параллельно работающий скрипт успевает тоже проверить отсутствие сообщения и тоже запустить вставку. Такой механизм не сможет надежно защищать от дублей.
По какой же причине браузеры посылают несколько запросов? в последнее время участилось это. По-моему на firefox 10
@SMak044
Эксперт
Join Date: May 2008
Награды в конкурсах:
Posts: 1,764
Версия vB: 3.8.4
Пол:
Reputation:
Expert 1705
Репутация в разделе: 1190
0
netwind, Сам с таким сталкиваюсь, но заметил, чем больше сообщение, тем вероятнее возникновение дубля.
Например пост в 1 строку, идет без дубля, а вот пост с 4 строками скорее всего вызовет дублирование, правда я зная это, когда получаю предупреждение о том, что форум не принимает посты чаще 0 сек, отказываюсь от публикации. В результате сообщение только одно.
@netwind
Гуру
Join Date: Aug 2005
Location: Рiдна Олбанея
Posts: 3,844
Версия vB: 3.8.x
Reputation:
Гуру 1227
Репутация в разделе: 901
0
SMak044, а есть какие-нибудь хаки, которые сложную работу по проверке содержимого сообщения при отправке делают? блокировка ссылок и тд ?
Чем больше во времени растянут процесс создания сообщения, тем больше вероятность неправильной работы системы исключения дубликатов в vb.
@SMak044
Эксперт
Join Date: May 2008
Награды в конкурсах:
Posts: 1,764
Версия vB: 3.8.4
Пол:
Reputation:
Expert 1705
Репутация в разделе: 1190
0
netwind, Да нет, думаю, тут проблема с каналом и скоростью обмена между браузером и сервером.
Или ограничением на скорость одного соединения. Но в общем я не совсем в курсе самого процесса, я только заметил., что проблема возникает именно по причине большого текста, без всяких ссылок и картинок. Да в общем то и ссылки это текст, это потом браузер его оформляет то ли в картинку, то ли с ссылку.
У меня было подозрение на ajax, но потом отпало, после очистки кеша браузера...
SMak044 добавил 27.02.2012 в 16:06
Вот и сейчас я отправлял сообщение и снова выпало сообщение о слишком скорой отправке повторного сообщения.
Сейчас попробую в firebug глянуть в чем проблема.
SMak044 добавил 27.02.2012 в 16:48
Глянул, по какой то причине первая отправка сообщения вызвала ошибку и прервалась, а вот вторая прошла удачно.
То есть скорее всего мой браузер не получил ответ, что сообщение было отправлено и повторно выслал данные.
В общем происходит так:
Сообщение отправляется
Браузер ждет ответа от скрипта
То ли получает в ответ ошибку, то ли отбивается по времени
Запускает повторно то же запрос. Но так как в этот момент происходит проверка на одинаковость и фактически не происходит запись сообщения в бд, скрипт отрабатывает нормально, но выводит сообщение о невозможности разместить сообщение чаще 30 секунд.
Но прикол в том, что сообщение в первый раз было отправлено и записано в бд....
Порылся в настройка лисы.. и ничего путного не нашел, может кто знает как увеличить время ожидания браузером ответа от сайта?
Last edited by SMak044 : 02-27-2012 at 06:48 PM.
Reason: Добавлено сообщение
@netwind
Гуру
Join Date: Aug 2005
Location: Рiдна Олбанея
Posts: 3,844
Версия vB: 3.8.x
Reputation:
Гуру 1227
Репутация в разделе: 901
0
Quote:
Originally Posted by SMak044
То есть скорее всего мой браузер не получил ответ, что сообщение было отправлено и повторно выслал данные.
а зачем он это делает и почему не выводит ошибку? ты точно сам не нажимал на Reload ?
@SMak044
Эксперт
Join Date: May 2008
Награды в конкурсах:
Posts: 1,764
Версия vB: 3.8.4
Пол:
Reputation:
Expert 1705
Репутация в разделе: 1190
0
netwind, В том то и дело, что нет. Ничего не нажимал.
В firebug ошибка есть, скрипт выдает прерывание
SMak044 добавил 27.02.2012 в 18:27
пробую еще раз
вот получилось
Сразу поле этого идет переход на предупреждение о не возможности отправлять сообщение чаще чем 30 секунд....
Last edited by SMak044 : 02-27-2012 at 08:46 PM.
Reason: Добавлено сообщение