フォームをスパムボットから保護する方法


9

私のMagentoショップにはフォームがあり、魔女がメールで情報を私に送信します。最近、そのフォームから大量のスパムが送信されています(昨日から70通)。

CAPTHAを使用せずに、magentoで安全なフォームを取得することは可能ですか?:)


この答えはあなたに役立つかもしれません。- > magento.stackexchange.com/questions/103808/...
Vishwas曽爾

回答:


15

私は同じ問題を抱えていたので、magento-hackatonからこの拡張機能をインストールすることで解決しました:https : //github.com/magento-hackathon/HoneySpam

このMagento拡張機能は、JavaScriptで非表示になっているフィールドを顧客登録とWordpressコメントフォームのURLフィールドのように見える製品レビューフォームに追加します。このフィールドが入力され、フォームが送信されると、エラーメッセージが表示され、何も保存されません。

このフォームが速すぎるかどうかのチェックもあります。人間は通常、数秒以上かかります。

機能を有効または無効にしたり、Magento管理バックエンドでこのフォームを送信するのにかかる時間を設定したりできます。

新たに追加:スパムレベルの緩いインデックスを決定するためのすべての入力フィールドの正規表現チェック。最も正確なものではありませんが、ローエンドのスパム(「ブロードバンドスパム」)を防ぐことができます。また、バックエンドでこの機能を有効/無効にし、最大のスパムインデックス信頼レベルを設定することもできます。

これがフォームに追加した方法です。

私のフォームの.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>

これはカスタムフォームであり、拡張はマゼントメイドフォームにのみ適していると言えます
Patrick Knudsen

実際には、カスタムフォームではなく、必要なフォームにフィールドを追加するため、この拡張機能を任意のフォームに使用できます。そこにjsファイルを含めるだけで十分です。
lloiacono

4
この拡張機能を承認します。私はそれを使用し、それは驚異をしました。100%スパムがないわけではありませんが、最小限の労力で素晴らしい仕事をします。
マリウス

私のフォームは製品ページにありますが、そこにjsファイルを含めるにはどうすればよいですか?そのview.phtmlファイル。
Patrick Knudsen

@Mariusの承認を得た。ここで拡張機能をインストールする必要があります。
Qaisar Satti 2016

0

ニュースレターに追加されたコードは正しくありません。正しいコードは半分ですが、document.observeコードでは一度に1つのフォームしか非表示にできないという問題が残っています。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>

誰か完全な解決策はありますか?


私は彼女を少し混乱させます、上のコードをapp / design / frontend / default / mytheme / layoutのnewsletter.xmlに追加する必要がありますか?正しくインストールされていることを確認するにはどうすればよいですか?
2017年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.