Cách bảo mật biểu mẫu khỏi spam bot


9

Trong cửa hàng Magento của tôi, tôi có một mẫu đơn, phù thủy gửi thông tin qua email cho tôi và gần đây có rất nhiều thư rác từ mẫu đó (70 kể từ ngày hôm qua).

Có khả thi không, để có được một hình thức an toàn trong magento, thông minh bằng cách sử dụng CAPTHA? :)


Câu trả lời này có thể hữu ích cho bạn. -> magento.stackexchange.com/questions/103808/iêu
Vishwas Soni

Câu trả lời:


15

Tôi đã gặp vấn đề tương tự và tôi đã giải quyết nó bằng cách cài đặt tiện ích mở rộng này từ magento-hackaton: https://github.com/magento-hackathon/HoneySpam

Tiện ích mở rộng Magento này thêm một trường được ẩn bằng JavaScript vào Sổ đăng ký khách hàng và Biểu mẫu đánh giá sản phẩm trông giống như trường URL của biểu mẫu nhận xét Wordpress. Nếu trường này được điền và Biểu mẫu được gửi, sẽ xuất hiện thông báo lỗi và sẽ không có gì được lưu.

Ngoài ra còn có một kiểm tra nếu hình thức này được truyền quá nhanh, một người thường mất vài giây trở lên.

Bạn có thể bật và tắt các chức năng hoặc đặt thời gian cần thiết để truyền các biểu mẫu này trong Phần cuối quản trị Magento.

Mới được thêm vào: Kiểm tra Regex trên tất cả các trường đầu vào để xác định chỉ mục lỏng cho mức độ spam. Đây không phải là điều chính xác nhất, nhưng nó có thể ngăn chặn thư rác cấp thấp ("thư rác băng thông rộng"). Bạn cũng có thể bật / tắt tính năng này trong phần phụ trợ và đặt mức độ tin cậy của chỉ số thư rác tối đa.

Đây là cách tôi thêm nó vào mẫu của mình:

Trên tệp .phtml mẫu của tôi, tôi đã thêm dòng này:

<?php echo $this->getBlockHtml('contacts.form.fields.before') ?>

Điều này sẽ thêm trường bổ sung được khai báo trong 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>

Đó là một hình thức tùy chỉnh và tôi có thể thấy rằng tiện ích mở rộng chỉ tốt cho các hình thức magentomade
Patrick Knudsen

không thực sự, không phải là một hình thức tùy chỉnh, nó thêm một trường bổ sung vào các biểu mẫu bạn muốn, vì vậy bạn có thể sử dụng tiện ích mở rộng này cho bất kỳ hình thức nào bạn muốn. Bạn chỉ cần bao gồm các tập tin js ở đó và đó là nó.
lloiacono

4
Tôi chấp thuận phần mở rộng này. Tôi đã sử dụng nó và nó đã làm điều kỳ diệu. Nó sẽ không giúp bạn có được 100% thư rác miễn phí, nhưng nó thực hiện một công việc tuyệt vời với nỗ lực tối thiểu.
Marius

biểu mẫu của tôi là trên trang sản phẩm của tôi, làm thế nào để tôi bao gồm các tệp js ở đó? đó là tập tin view.phtml.
Patrick Knudsen

được sự chấp thuận của @Marius. bây giờ bạn phải cài đặt phần mở rộng.
Qaisar Satti

0

Mã được thêm vào cho bản tin là không chính xác. Tôi có một nửa mã chính xác, vấn đề vẫn là bạn chỉ có thể ẩn một biểu mẫu tại một thời điểm với mã document.observe. Chúng tôi có 2 hộp bản tin và các mẫu đánh giá / liên hệ tiêu chuẩn và không hoạt động.

Đây là phần chính xác cho bản tin chân trang cài đặt magento mặc định.

    <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>

Bất cứ ai là giải pháp hoàn chỉnh?


Tôi chỉ làm cô ấy bối rối một chút, tôi có nên thêm đoạn mã trên vào newsletter.xml trong ứng dụng / thiết kế / frontend / default / huyền thoại / bố cục không? Làm thế nào tôi có thể thấy nó được cài đặt sửa chữa?
hln
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.