В моем магазине Magento у меня есть форма, которая отправляет мне информацию по электронной почте, и недавно в этой форме было много спама (70 со вчерашнего дня).
Возможно ли получить безопасную форму в magento без использования CAPTHA? :)
В моем магазине Magento у меня есть форма, которая отправляет мне информацию по электронной почте, и недавно в этой форме было много спама (70 со вчерашнего дня).
Возможно ли получить безопасную форму в magento без использования CAPTHA? :)
Ответы:
У меня была та же проблема, и я решил ее, установив это расширение из magento-hackaton: https://github.com/magento-hackathon/HoneySpam
Это расширение Magento добавляет поле, которое скрыто с помощью JavaScript, в реестр клиентов и форму обзора продукта, которая выглядит как поле URL формы комментария Wordpress. Если это поле заполнено и Форма отправлена, появляется сообщение об ошибке, и ничего не будет сохранено.
Существует также проверка, если эта форма передается слишком быстро, человеку обычно требуется пара секунд или больше.
Вы можете включать и отключать функции или устанавливать время, необходимое для передачи этих форм, в серверной части Magento Admin.
Недавно добавлено: проверка регулярных выражений во всех полях ввода, чтобы определить свободный индекс для уровня спама. Это не самая точная вещь вообще, но она может предотвратить спам низкого уровня ("широкополосный спам"). Вы также можете включить / отключить эту функцию в бэкэнде и установить максимальный уровень доверия индекса спама.
Вот как я добавил его в свою форму:
В моем файле .phtml формы я добавил эту строку:
<?php echo $this->getBlockHtml('contacts.form.fields.before') ?>
Это добавит дополнительное поле, объявленное в app / design / frontend / base / default / layout / honeyspam.xml:
<default>
<update handle="honeypot"/>
<reference name="footer_newsletter">
<block type="core/text_list" name="contacts.form.fields.before" as="form_fields_before" translate="label">
<block type="hackathon_honeyspam/honeypot" name="honeyspam.honeypot"
template="hackathon/honeyspam/honeypot.phtml"/>
</block>
</reference>
</default>
<contacts_index_index>
<update handle="honeypot"/>
<reference name="contactForm">
<block type="core/text_list" name="contacts.form.fields.before" as="form_fields_before" translate="label">
<block type="hackathon_honeyspam/honeypot" name="honeyspam.honeypot"
template="hackathon/honeyspam/honeypot.phtml"/>
</block>
</reference>
</contacts_index_index>
Неверный код для рассылки. У меня есть половина правильного кода, проблема остается в том, что вы можете сделать только одну форму скрытой за один раз с кодом document.observe. У нас есть 2 коробки для рассылок и стандартные формы обзора / контактов, и это не работает.
Это правильная часть для бюллетеня по умолчанию для установки нижнего колонтитула magento.
<default>
<update handle="honeypot"/>
<reference name="footer.newsletter">
<block type="core/text_list" name="newsletter.form.fields.before" as="form_fields_before" translate="label">
<block type="hackathon_honeyspam/honeypot" name="honeyspam.honeypot"
template="hackathon/honeyspam/honeypot.phtml"/>
</block>
</reference>
</default>
У кого-нибудь есть полное решение?