Перейти к содержимому


Спамят Через Форму Обратной Связи


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 11

#1 Sergereal

Sergereal

    Пользователь

  • Пользователи
  • PipPip
  • 18 сообщений

Отправлено 17 Январь 2013 - 11:48

Что можно сделать?
Я в хтмл новичок, первое что пришло в голову - изменить FEEDBACK_URL
где это можно сделать?

#2 miyako

miyako

    Активный участник

  • Модератоpы
  • 5 372 сообщений

Отправлено 17 Январь 2013 - 12:44

Просмотр сообщенияSergereal (17 Январь 2013 - 11:48) писал:

Что можно сделать?
Я в хтмл новичок, первое что пришло в голову - изменить FEEDBACK_URL
где это можно сделать?

Укажите пожалуйста ваш аккаунт или адрес магазина

#3 support

support

    Активный участник

  • Модераторы
  • 3 686 сообщений
  • ГородМосква

Отправлено 17 Январь 2013 - 13:08

Просмотр сообщенияmiyako (17 Январь 2013 - 12:44) писал:

Укажите пожалуйста ваш аккаунт или адрес магазина

Изменение Feedback url не поможет, боты как видно капчу вбивают, URL адрес они точно определят)))

В общем в новой версии системы мы используем особые формы для отзывов, они спамоустойчивы. Замените вот этот код шаблона товар:
<!-- Форма добавления нового отзыва о товаре -->
		<form action="" method="post" class="goodsDataOpinionAddForm">
		  <div id="goodsDataOpinionAdd">
		 
			{% IF FORM_NOTICE %}
			  <h3 class="{% IF FORM_NOTICE_IS_GOOD %}green{% ELSE %}red{% ENDIF %}">{FORM_NOTICE}</h3>
			{% ENDIF %}
		 
			<div id="goodsDataOpinionAddBlock" {% IFNOT FORM_GOODS_ID %}style="display:none"{% ENDIF%}>
		   
			  <input type="hidden" name="hash" value="{HASH}" />
			  <input type="hidden" name="form[goods_from]" value="{GOODS_FROM}" />
			  <input type="hidden" name="form[goods_id]" value="{GOODS_ID}" />
			
			  <h3>Новый отзыв о &laquo;{GOODS_NAME}&raquo;</h3>
	 
			  <table class="goodsDataOpinionAddTable">
				{% IF TARIFF_FEATURE_CLIENT_ROOM %}
				  {% IFNOT CLIENT_IS_LOGIN %}
					<thead>
					  <tr>
						<td colspan="2">
						  <div class="goodsDataOpinionMessage auth">Ваши знания будут оценены посетителями сайта, если Вы <a href="{USER_LOGIN_URL}">авторизируетесь</a> перед написанием отзыва.</div>
						</td>
					  </tr>
					</thead> 
				  {% ENDIF %}
				{% ENDIF %}
			   
				<!-- Тело таблицы. Форма добавления отзыва о товаре -->
				<tbody>
				 
				  {% IFNOT CLIENT_IS_LOGIN %}
				  <tr>
					<td><label for="goods_opinion_name" class="required">Ваше имя</label></td>
					<td><input id="goods_opinion_name" name="form[goods_opinion_name]"  value="{FORM_GOODS_OPINION_NAME}" maxlength="255" class="required cornerAll"/></td>
				  </tr>
				  {% ENDIF %}
				  <tr>
					<td><label for="goods_opinion_title">Заголовок</label></td>
					<td><input id="goods_opinion_title" name="form[goods_opinion_title]" value="{FORM_GOODS_OPINION_TITLE}" maxlength="255" class="cornerAll" /></td>
				  </tr>
				  <tr>
					<td class="valignTop"><label>Оценка товара</label></td>
					<td>
					  <div class="goodsDataOpinionTableRating">
						<input name="form[goods_opinion_rating]" type="radio" value="1" {% IF FORM_GOODS_OPINION_RATING=1 %}checked="checked"{% ENDIF %} title="Ужасный" />
						<input name="form[goods_opinion_rating]" type="radio" value="2" {% IF FORM_GOODS_OPINION_RATING=2 %}checked="checked"{% ENDIF %} title="Очень плохой"/>
						<input name="form[goods_opinion_rating]" type="radio" value="3" {% IF FORM_GOODS_OPINION_RATING=3 %}checked="checked"{% ENDIF %} title="Плохой"/>
						<input name="form[goods_opinion_rating]" type="radio" value="4" {% IF FORM_GOODS_OPINION_RATING=4 %}checked="checked"{% ENDIF %} title="ниже среднего"/>
						<input name="form[goods_opinion_rating]" type="radio" value="5" {% IF FORM_GOODS_OPINION_RATING=5 %}checked="checked"{% ENDIF %} title="Средний"/>
						<input name="form[goods_opinion_rating]" type="radio" value="6" {% IF FORM_GOODS_OPINION_RATING=6 %}checked="checked"{% ENDIF %} title="Выше среднего"/>
						<input name="form[goods_opinion_rating]" type="radio" value="7" {% IF FORM_GOODS_OPINION_RATING=7 %}checked="checked"{% ENDIF %} title="Хороший"/>
						<input name="form[goods_opinion_rating]" type="radio" value="8" {% IF FORM_GOODS_OPINION_RATING=8 %}checked="checked"{% ENDIF %} title="Очень хороший"/>
						<input name="form[goods_opinion_rating]" type="radio" value="9" {% IF FORM_GOODS_OPINION_RATING=9 %}checked="checked"{% ENDIF %} title="Отличный"/>
						<input name="form[goods_opinion_rating]" type="radio" value="10" {% IF FORM_GOODS_OPINION_RATING=10 %}checked="checked"{% ENDIF %} title="Превосходный"/>
					  </div>
					  <span class="goodsDataOpinionMsg"></span>
					</td>
				  </tr>
				  <tr>
					<td><label for="goods_opinion_accomplishments">Достоинства</label></td>
					<td><textarea id="goods_opinion_accomplishments" name="form[goods_opinion_accomplishments]" cols="100" rows="7" class="cornerAll">{FORM_GOODS_OPINION_ACCOMPLISHMENTS}</textarea></td>
				  </tr>
				  <tr>
					<td><label for="goods_opinion_limitations">Недостатки</label></td>
					<td><textarea id="goods_opinion_limitations" name="form[goods_opinion_limitations]" cols="100" rows="7" class="cornerAll">{FORM_GOODS_OPINION_LIMITATIONS}</textarea></td>
				  </tr>
				  <tr>
					<td><label for="goods_opinion_comment" class="required">Комментарий</label></td>
					<td><textarea id="goods_opinion_comment" name="form[goods_opinion_comment]" cols="100" rows="7" class="required cornerAll">{FORM_GOODS_OPINION_COMMENT}</textarea></td>
				  </tr>
				  <tr>
					<td><label for="goods_opinion_generally_is_good1">В целом Ваш отзыв</label></td>
					<td>
					  <div class="generally">
						<input id="goods_opinion_generally_is_good1" name="form[goods_opinion_generally_is_good]" type="radio" value="1" {% IF FORM_GOODS_OPINION_GENERALLY_IS_GOOD=1 %}checked="checked"{% ENDIF %}/> <label for="goods_opinion_generally_is_good1">Положительный</label>
						<input id="goods_opinion_generally_is_good0" name="form[goods_opinion_generally_is_good]" type="radio" value="0" {% IF FORM_GOODS_OPINION_GENERALLY_IS_GOOD=0 %}checked="checked"{% ENDIF %}/> <label for="goods_opinion_generally_is_good0">Отрицательный</label>
					  </div>
					</td>
				  </tr>
				  {% IF USE_CAPTCHA %}
				  <tr>
					<td><label for="opinion_captcha_string" class="required">Введите цифры</label></td>
					<td class="goodsDataOpinionCaptcha">
					<table>
					  <tr>
						<td rowspan="2"><img src="{CAPTCHA_URL}" class="goodsDataOpinionCaptchaImg" alt="Цифры" /></td>
						<td><img src="{FORALL_IMAGES_PATH}icon/refresh/1.gif" rel="{FORALL_IMAGES_PATH}" alt="Обновить" title="Обновить" class="goodsDataOpinionCaptchaRefresh" /></td>
					  </tr>
					  <tr>
						<td><input id="opinion_captcha_string" name="form[captcha_string]" class="required captcha cornerAll" value="{FORM_}" /></td>
					  </tr>
					</table>
					</td>
				  </tr>
				  {% ENDIF %}
				 
				</tbody>
			   
				<!-- Низ таблицы. Кнопка отправки формы -->
				<tfoot>
				  <tr>
					<td></td>
					<td><input type="submit" value="Добавить отзыв" /> <input type="reset" class="button" value="Отменить" /> </td>
				  </tr>
				</tfoot>
		   
			  </table>
			 
		   
			</div>
		  </div>
		</form>

На этот:
<!-- Форма добавления нового отзыва о товаре -->
		<form action="" method="post" class="goodsDataOpinionAddForm">
		  <div id="goodsDataOpinionAdd">
		 
			{% IF FORM_NOTICE %}
			  <h3 class="{% IF FORM_NOTICE_IS_GOOD %}green{% ELSE %}red{% ENDIF %}">{FORM_NOTICE}</h3>
			{% ENDIF %}
		 
			<div id="goodsDataOpinionAddBlock" {% IFNOT FORM_GOODS_ID %}style="display:none"{% ENDIF%}>
		   
			  <input type="hidden" name="hash" value="{HASH}" />
			  <input type="hidden" name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_FROM}]" value="{GOODS_FROM}" />
			  <input type="hidden" name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_ID}]" value="{GOODS_ID}" />
			
			  <!-- Набор полей которые не видит пользователь, но видят боты. Когда они их заполняют мы точно знаем, что их прислал нам бот и мы не сохраняем подобный отзыв о товаре, а боту отправившему отзыв сообщаем, что отзыв добавлен успешно, но будет отображён здесь после прохождения модерации -->
			  {ANTISPAM_CODE}
			  <h3>Новый отзыв о &laquo;{GOODS_NAME}&raquo;</h3>
			 
			  <table class="goodsDataOpinionAddTable">
				{% IF TARIFF_FEATURE_CLIENT_ROOM %}
				  {% IFNOT CLIENT_IS_LOGIN %}
					<thead>
					  <tr>
						<td colspan="2">
						  <div class="goodsDataOpinionMessage auth">Ваши знания будут оценены посетителями сайта, если Вы <a href="{USER_LOGIN_URL}">авторизируетесь</a> перед написанием отзыва.</div>
						</td>
					  </tr>
					</thead> 
				  {% ENDIF %}
				{% ENDIF %}
			   
				<!-- Тело таблицы. Форма добавления отзыва о товаре -->
				<tbody>
				 
				  {% IFNOT CLIENT_IS_LOGIN %}
				  <tr>
					<td><label for="goods_opinion_name" class="required">Ваше имя</label></td>
					<td><input id="goods_opinion_name" name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_NAME}]"  value="{FORM_GOODS_OPINION_NAME}" maxlength="255" class="required cornerAll"/></td>
				  </tr>
				  {% ENDIF %}
				  <tr>
					<td><label for="goods_opinion_title">Заголовок</label></td>
					<td><input id="goods_opinion_title" name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_TITLE}]" value="{FORM_GOODS_OPINION_TITLE}" maxlength="255" class="cornerAll" /></td>
				  </tr>
				  <tr>
					<td class="valignTop"><label>Оценка товара</label></td>
					<td>
					  <div class="goodsDataOpinionTableRating">
						<input name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_RATING}]" type="radio" value="1" {% IF FORM_GOODS_OPINION_RATING=1 %}checked="checked"{% ENDIF %} title="Ужасный" />
						<input name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_RATING}]" type="radio" value="2" {% IF FORM_GOODS_OPINION_RATING=2 %}checked="checked"{% ENDIF %} title="Очень плохой"/>
						<input name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_RATING}]" type="radio" value="3" {% IF FORM_GOODS_OPINION_RATING=3 %}checked="checked"{% ENDIF %} title="Плохой"/>
						<input name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_RATING}]" type="radio" value="4" {% IF FORM_GOODS_OPINION_RATING=4 %}checked="checked"{% ENDIF %} title="ниже среднего"/>
						<input name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_RATING}]" type="radio" value="5" {% IF FORM_GOODS_OPINION_RATING=5 %}checked="checked"{% ENDIF %} title="Средний"/>
						<input name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_RATING}]" type="radio" value="6" {% IF FORM_GOODS_OPINION_RATING=6 %}checked="checked"{% ENDIF %} title="Выше среднего"/>
						<input name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_RATING}]" type="radio" value="7" {% IF FORM_GOODS_OPINION_RATING=7 %}checked="checked"{% ENDIF %} title="Хороший"/>
						<input name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_RATING}]" type="radio" value="8" {% IF FORM_GOODS_OPINION_RATING=8 %}checked="checked"{% ENDIF %} title="Очень хороший"/>
						<input name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_RATING}]" type="radio" value="9" {% IF FORM_GOODS_OPINION_RATING=9 %}checked="checked"{% ENDIF %} title="Отличный"/>
						<input name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_RATING}]" type="radio" value="10" {% IF FORM_GOODS_OPINION_RATING=10 %}checked="checked"{% ENDIF %} title="Превосходный"/>
					  </div>
					  <span class="goodsDataOpinionMsg"></span>
					</td>
				  </tr>
				  <tr>
					<td><label for="goods_opinion_accomplishments">Достоинства</label></td>
					<td><textarea id="goods_opinion_accomplishments" name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_ACCOMPLISHMENTS}]" cols="100" rows="7" class="cornerAll">{FORM_GOODS_OPINION_ACCOMPLISHMENTS}</textarea></td>
				  </tr>
				  <tr>
					<td><label for="goods_opinion_limitations">Недостатки</label></td>
					<td><textarea id="goods_opinion_limitations" name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_LIMITATIONS}]" cols="100" rows="7" class="cornerAll">{FORM_GOODS_OPINION_LIMITATIONS}</textarea></td>
				  </tr>
				  <tr>
					<td><label for="goods_opinion_comment" class="required">Комментарий</label></td>
					<td><textarea id="goods_opinion_comment" name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_COMMENT}]" cols="100" rows="7" class="required cornerAll">{FORM_GOODS_OPINION_COMMENT}</textarea></td>
				  </tr>
				  <tr>
					<td><label for="goods_opinion_generally_is_good1">В целом Ваш отзыв</label></td>
					<td>
					  <div class="generally">
						<input id="goods_opinion_generally_is_good1" name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_GENERALLY_IS_GOOD}]" type="radio" value="1" {% IF FORM_GOODS_OPINION_GENERALLY_IS_GOOD=1 %}checked="checked"{% ENDIF %}/> <label for="goods_opinion_generally_is_good1">Положительный</label>
						<input id="goods_opinion_generally_is_good0" name="form[{ANTISPAM_FORM_FIELD_NAME_GOODS_OPINION_GENERALLY_IS_GOOD}]" type="radio" value="0" {% IF FORM_GOODS_OPINION_GENERALLY_IS_GOOD=0 %}checked="checked"{% ENDIF %}/> <label for="goods_opinion_generally_is_good0">Отрицательный</label>
					  </div>
					</td>
				  </tr>
				  {% IF USE_CAPTCHA %}
				  <tr>
					<td><label for="opinion_captcha_string" class="required" title="Введите код с картинки">Введите код</label></td>
					<td class="goodsDataOpinionCaptcha">
					<table>
					  <tr>
						<td rowspan="2"><img src="{CAPTCHA_URL}" class="goodsDataOpinionCaptchaImg" alt="Код" title="Проверочный код, который нужно ввести в соседнее поле" /></td>
						<td><img src="{FORALL_IMAGES_PATH}icon/refresh/1.gif" rel="{FORALL_IMAGES_PATH}" alt="Обновить" title="Обновить" class="goodsDataOpinionCaptchaRefresh" /></td>
					  </tr>
					  <tr>
						<td><input id="opinion_captcha_string" name="form[{ANTISPAM_FORM_FIELD_NAME_CAPTCHA_STRING}]" class="required captcha cornerAll" value="{FORM_}" /></td>
					  </tr>
					</table>
					</td>
				  </tr>
				  {% ENDIF %}
				 
				</tbody>
			   
				<!-- Низ таблицы. Кнопка отправки формы -->
				<tfoot>
				  <tr>
					<td></td>
					<td><input type="submit" value="Добавить отзыв" /> <input type="reset" class="button" value="Отменить" /> </td>
				  </tr>
				</tfoot>
		   
			  </table>
			 
		   
			</div>
		  </div>
		</form>

Похожая тема:
http://forum.storela...ывы/#entry27438

#4 support

support

    Активный участник

  • Модераторы
  • 3 686 сообщений
  • ГородМосква

Отправлено 17 Январь 2013 - 13:28

К слову сказать можно доработать форму добавления отзыва ещё и вставкой специального кода на javascript-е, Например переменную hash добавлять javascript-ом, в этом случае вероятность прохождения всех препятствий ботом в разы уменьшится.Делается это примерно так. Из формы удаляется поле
<input type="hidden" name="hash" value="{HASH}" />						 
и на страницу, в шаблоне вставляется строчка:
<script type="text/javascript">$('form').append('<input type="hidden" name="hash" value="{HASH}" />')</script>
Чтобы ещё больше упростить процесс и не заморачиваться, можно вставить эту строчку в шаблоне "HTML" и из всех форм на сайте
<form>
... код формы ...
</form>
удалить поле
<input type="hidden" name="hash" value="{HASH}" />

Эту проверку сейчас пройдёт всего несколько десятых процентов спам-ботов, часть из которых поисковики, но они как известно не спамят :)
Суть в том что поддержка javascript и выполнение всех скриптов на страницы сейчас довольно ресурсоёмкая операция для спамилки, которая должна рассылать по 50-100 сообщений в секунду, поэтому заморачиваться никто не будет. Даже спамилка написанная специально под ваш сайт не сможет отправлять сообщения без использования специальных серверных версий браузеров, которые используют поисковики. Так что используя эту форму + javascript проверку о капче можно будет просто забыть и не напрягать пользователей бесполезными на сегодняшний день проверками бот он или не бот :)
А те юзеры которые ходят по интернету без javascript-а ( их меньше 1%, но моё личное мнение что это всё-таки боты ) и без того не увидят форму отзывов, ибо она у Вас открывается при клике на кнопку "Добавить отзыв", так что ни один отзыв не потеряется

#5 Sergereal

Sergereal

    Пользователь

  • Пользователи
  • PipPip
  • 18 сообщений

Отправлено 17 Январь 2013 - 13:43

Спасибо за ответ. Сайт masterpuf.ru
Хочу уточнить, что спамят не через форму отзывов о товаре, а через форму "связь с администрацией", там нет капчи.

#6 Koderhan

Koderhan

    Активный участник

  • Модератоpы
  • 6 227 сообщений

Отправлено 17 Январь 2013 - 13:53

Просмотр сообщенияSergereal (17 Январь 2013 - 13:43) писал:

Спасибо за ответ. Сайт masterpuf.ru
Хочу уточнить, что спамят не через форму отзывов о товаре, а через форму "связь с администрацией", там нет капчи.
Предложанный код подходит и для формы "связь с администрацией".
Из файла "HTML" удалить код:
<input type="hidden" name="hash" value="{HASH}" />
В начало файла "связь с администрацией" вставить код:
<script type="text/javascript">$('form').append('<input type="hidden" name="hash" value="{HASH}" />')</script>


#7 Sergereal

Sergereal

    Пользователь

  • Пользователи
  • PipPip
  • 18 сообщений

Отправлено 17 Январь 2013 - 15:36

Спасибо всем. Изменил код, посмотрим что получится ))

#8 Sergereal

Sergereal

    Пользователь

  • Пользователи
  • PipPip
  • 18 сообщений

Отправлено 17 Январь 2013 - 16:15

Не сработало. Сделал все как сказали: из HTML удалил <inputtype="hidden"name="hash"value="{HASH}"/>
В файл "связь с администрацией" вставил <scripttype="text/javascript">$('form').append('<input type="hidden" name="hash" value="{HASH}" />')</script>
Все равно спамят.


#9 Koderhan

Koderhan

    Активный участник

  • Модератоpы
  • 6 227 сообщений

Отправлено 17 Январь 2013 - 16:55

Просмотр сообщенияSergereal (17 Январь 2013 - 16:15) писал:

Не сработало. Сделал все как сказали: из HTML удалил <inputtype="hidden"name="hash"value="{HASH}"/>
В файл "связь с администрацией" вставил <scripttype="text/javascript">$('form').append('<input type="hidden" name="hash" value="{HASH}" />')</script>
Все равно спамят.
Попробуйте удалить код:
<input type="hidden" name="hash" value="{HASH}" />
Из файла "Связь с администрацией".

#10 Sergereal

Sergereal

    Пользователь

  • Пользователи
  • PipPip
  • 18 сообщений

Отправлено 17 Январь 2013 - 17:13

Без этого кода сообщения не отправляются.

#11 support

support

    Активный участник

  • Модераторы
  • 3 686 сообщений
  • ГородМосква

Отправлено 17 Январь 2013 - 18:24

Просмотр сообщенияSergereal (17 Январь 2013 - 17:13) писал:

Без этого кода сообщения не отправляются.
Попробуйте тогда для вашего случая использовать такой код:
<script type="text/javascript">$('form.feedbackForm').append('<input type="hidden" name="hash" value="{HASH}" />');</script> 


#12 veselhak

veselhak

    Новичок

  • Пользователи
  • Pip
  • 5 сообщений

Отправлено 31 Март 2013 - 16:42

Просмотр сообщенияSergereal (17 Январь 2013 - 16:15) писал:

Не сработало. Сделал все как сказали: из HTML удалил <inputtype="hidden"name="hash"value="{HASH}"/>
В файл "связь с администрацией" вставил <scripttype="text/javascript">$('form').append('<input type="hidden" name="hash" value="{HASH}" />')</script>
Все равно спамят.
Найми добросовестного модератора




Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных