Защита от спама: Антибот 100500

Лучшая на данный момент защита от ботов

Хаки, скрипты, BB-коды и другие вещи, не оформленные в виде полноценных модов, но способствующие улучшению функциональности движка.
Аватара пользователя
c61
Разработчик модов
Сообщения: 249
Зарегистрирован: 24.08.13 16:46
Благодарил (а): 20 раз
Поблагодарили: 62 раза

Защита от спама: Антибот 100500

Сообщение c61 »

Я лично до сих пор сомневаюсь, основания имеются. Есть иные версии происхождения бага ? Нет ? Лучше оставьте язвительность и изложите свои версии, если есть.
Xisp
Сообщения: 196
Зарегистрирован: 05.04.14 18:00
Благодарил (а): 15 раз
Поблагодарили: 30 раз

Защита от спама: Антибот 100500

Сообщение Xisp »

c61 писал(а):сть иные версии происхождения бага ?
Никакого бага нет, всё сказано тут:
Подробнее: в большинстве случаев ошибка отправки формы связана с истечением времени сессии или жизни формы и не имеет никакого отношения к срабатыванию антибота. Задавайте корректные параметры времени сессии и формы в администраторском разделе (рекомендую устанавливать одинаковые значения, например, 14400 секунд).
Я видел ошибку только при длительной задержке отправки формы.
Аватара пользователя
c61
Разработчик модов
Сообщения: 249
Зарегистрирован: 24.08.13 16:46
Благодарил (а): 20 раз
Поблагодарили: 62 раза

Защита от спама: Антибот 100500

Сообщение c61 »

Завтра кину логи, если надо. Порой возникает ситуация, когда время сессии, формы и прочее нормальные, а маркер формы - нет, при этом он не был изменён каким-либо скриптом как на стороне сервера, так и на стороне клиента. На разных конференциях, разных версиях php и phpbb, разных конфигурациях серверов. Общее одно - есть nginx.
Xisp
Сообщения: 196
Зарегистрирован: 05.04.14 18:00
Благодарил (а): 15 раз
Поблагодарили: 30 раз

Защита от спама: Антибот 100500

Сообщение Xisp »

c61 писал(а):Общее одно - есть nginx.
Он никак не должен влиять на обработку конкатенации строк в PHP.
nginx может повлиять на время обработки скрипта, на заголовки, посылаемые PHP или Apache.
Аватара пользователя
c61
Разработчик модов
Сообщения: 249
Зарегистрирован: 24.08.13 16:46
Благодарил (а): 20 раз
Поблагодарили: 62 раза

Защита от спама: Антибот 100500

Сообщение c61 »

Тем не менее, ошибка не проявляется под голым апачем, под lighttpd и прочим... Влиять не должен, но каким-то образом влияет :lol:
Аватара пользователя
c61
Разработчик модов
Сообщения: 249
Зарегистрирован: 24.08.13 16:46
Благодарил (а): 20 раз
Поблагодарили: 62 раза

Защита от спама: Антибот 100500

Сообщение c61 »

Похоже, я нашёл, в чём дело. Проблема в особенностях новомодных браузеров. Они запоминают hidden поля input form, причём обновление страницы по f5 не помогает, и это основная причина. Грешит прежде всего firefox. Поэтому очередной патч (от предыдущего вреда не будет, да и пользы, похоже, тоже никакой :lol: ), сброс формы, теперь в overall_footer, перед </body>, требуется jquery:

Код: Выделить всё

<script type="text/javascript">
// <![CDATA[
if ( "{SCRIPT_NAME}" == "viewtopic" ) {
	$("input[name=form_token]").each(function() {
		var text = $(this.form.message).val();
		$(this.form).trigger("reset");
		$(this.form.message).val(text);
	});
}
// ]]>
</script>
См. http://c61.no-ip.org/forum/viewtopic.php?f=20&t=106 , выложил новую версию для 3.1.
Аватара пользователя
c61
Разработчик модов
Сообщения: 249
Зарегистрирован: 24.08.13 16:46
Благодарил (а): 20 раз
Поблагодарили: 62 раза

Защита от спама: Антибот 100500

Сообщение c61 »

Сделал у себя отдельную тему соотв. патча phpBB patch: ложная ошибка отправки формы, где добавил хуки 3.0.x для случаев наличия/отсутствия JQuery (чтобы не трогать overall_footer в шаблоне).
Shredder
Администратор
Сообщения: 1073
Зарегистрирован: 22.08.13 09:05
Благодарил (а): 133 раза
Поблагодарили: 264 раза
Контактная информация:

Защита от спама: Антибот 100500

Сообщение Shredder »

А если сделать автоматическое определение наличия или отсутствия JS, чтобы не трогать хук - такое возможно?

Кстати, у себя пока исправлений не делал, хочу поймать ошибку и посмотреть, в чём будет дело в моём случае. Пока ошибок не было с тех пор, как поставил отслеживающий скрипт.
Мои моды и расширения для phpBB
Выполняю работы по phpBB3 на заказ. Пишите в личку или на почту.
Бесплатная поддержка - только в темах.
Аватара пользователя
c61
Разработчик модов
Сообщения: 249
Зарегистрирован: 24.08.13 16:46
Благодарил (а): 20 раз
Поблагодарили: 62 раза

Защита от спама: Антибот 100500

Сообщение c61 »

Shredder писал(а):А если сделать автоматическое определение наличия или отсутствия JS, чтобы не трогать хук - такое возможно?
Определить отсутствие JS можно только "от обратного" - выпонив скрипт JS...

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

Код: Выделить всё

if (window.jQuery) {
  // ...
}
но после некоторых размышлений я решил не засорять страницы лишними скриптами, поэтому два хука для двух случаев ;)
Shredder
Администратор
Сообщения: 1073
Зарегистрирован: 22.08.13 09:05
Благодарил (а): 133 раза
Поблагодарили: 264 раза
Контактная информация:

Защита от спама: Антибот 100500

Сообщение Shredder »

Тьфу, конечно наличие Jquery, а не JS... Опечатался. :)
Мои моды и расширения для phpBB
Выполняю работы по phpBB3 на заказ. Пишите в личку или на почту.
Бесплатная поддержка - только в темах.
Ответить