Спамят Через Форму Обратной Связи
#1
Отправлено 17 Январь 2013 - 11:48
Я в хтмл новичок, первое что пришло в голову - изменить FEEDBACK_URL
где это можно сделать?
#3
Отправлено 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>Новый отзыв о «{GOODS_NAME}»</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>Новый отзыв о «{GOODS_NAME}»</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
Отправлено 17 Январь 2013 - 13:28
<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
Отправлено 17 Январь 2013 - 13:43
Хочу уточнить, что спамят не через форму отзывов о товаре, а через форму "связь с администрацией", там нет капчи.
#6
Отправлено 17 Январь 2013 - 13:53
Sergereal (17 Январь 2013 - 13:43) писал:
Хочу уточнить, что спамят не через форму отзывов о товаре, а через форму "связь с администрацией", там нет капчи.
Из файла "HTML" удалить код:
<input type="hidden" name="hash" value="{HASH}" />В начало файла "связь с администрацией" вставить код:
<script type="text/javascript">$('form').append('<input type="hidden" name="hash" value="{HASH}" />')</script>
#7
Отправлено 17 Январь 2013 - 15:36
#8
Отправлено 17 Январь 2013 - 16:15
В файл "связь с администрацией" вставил <scripttype="text/javascript">$('form').append('<input type="hidden" name="hash" value="{HASH}" />')</script>
Все равно спамят.
#9
Отправлено 17 Январь 2013 - 16:55
Sergereal (17 Январь 2013 - 16:15) писал:
В файл "связь с администрацией" вставил <scripttype="text/javascript">$('form').append('<input type="hidden" name="hash" value="{HASH}" />')</script>
Все равно спамят.
<input type="hidden" name="hash" value="{HASH}" />Из файла "Связь с администрацией".
#10
Отправлено 17 Январь 2013 - 17:13
#11
Отправлено 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
Отправлено 31 Март 2013 - 16:42
Sergereal (17 Январь 2013 - 16:15) писал:
В файл "связь с администрацией" вставил <scripttype="text/javascript">$('form').append('<input type="hidden" name="hash" value="{HASH}" />')</script>
Все равно спамят.
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных