私のMagentoショップにはフォームがあり、魔女がメールで情報を私に送信します。最近、そのフォームから大量のスパムが送信されています(昨日から70通)。
CAPTHAを使用せずに、magentoで安全なフォームを取得することは可能ですか?:)
私のMagentoショップにはフォームがあり、魔女がメールで情報を私に送信します。最近、そのフォームから大量のスパムが送信されています(昨日から70通)。
CAPTHAを使用せずに、magentoで安全なフォームを取得することは可能ですか?:)
回答:
私は同じ問題を抱えていたので、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>ニュースレターに追加されたコードは正しくありません。正しいコードは半分ですが、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>誰か完全な解決策はありますか?