Magento 1.9 Lösung – Spam über Merkliste / Wunschzettel teilen Funktion – google Captcha // Mails an @qq.com
Aktuell sind Bots wieder dabei Wunschzettel bzw. Merklisten Funktion von Magento für Spamversand zu missbrauchen. Hier die Lösung.
Über die Wunschzettel teilen Funktion können in Magento Wunschzettel per E-Mail verschickt weden inklusive einer Nachricht. Dies kann leider auch per Bot zum Spamversand missbraucht werden.
Diese Art von Spam macht sich dadurch bemerkbar, dass laufend E-Mails zurückkommen, die man selbst überhaupt nicht verschickt hat. Z.B. Inhalte mit "nicht zustellbar" oder "Mail delivery failed: returning message to sender", "550 Sender frequency limited". Davon jedoch hunderte/tausende. Das ist klares Zeichen, dass der Shop Spam verschickt und der Empfänger/Opfer die Annahme der Mails verweigert.
Hier mögliche Lösungen es zu verhindern:
1. Funktion komplett deaktivieren, wenn Wunschzettel nicht gebraucht wird
Die Funktion kann nur komplett deaktiviert werden oder aktiviert werden. Wenn die Funktion überhaupt nicht benötigt wird, einfach komplett den Wunschzettel deaktivieren.
Admin -> System -> Konfiguration -> Kunden -> Merkzettel => dort deaktivieren.
2. Nur das teilen deaktivieren
Wenn Die Funktion genutzt werden soll, aber nur das teilen nicht bietet sich an in der local.xml des Templates dies einzufügen
<!-- wishlist spam protection - deactivated wishlist share -->
<wishlist_index_share><remove name="formkey"/></wishlist_index_share><wishlist_index_index translate="label">
<reference name="customer.wishlist.buttons">
<action method="unsetChild"><name>customer.wishlist.button.share</name></action>
</reference>
</wishlist_index_index>
Der erste Teil sorgt dafür,dass dem Formular der Formkey fehlt. Dadurch kann es nicht mehr verschickt werden auch bei dirkter Aufruf der url.
Der zweite Teil entfernt den Button in der Merkliste über den der User bzw. Bot zum "Share Wishlist" Formular kommen würde
3. google Captcha einrichten
Wenn bereits eh ein google Captcha im Einsatz ist, dann das einfach auf den Wishlist Bereich mit einstellen. Dies sollte die beste Lösung sein. Bots werden ausgebremst und normale Besucher können die Funktion noch nutzen.
für Amasty google invisible reCaptcha Funktio (vgl. Blog Post) ist es z.b.
wishlist/index/share/wishlist_id
form[action*="wishlist/index/send"]
4. Regeln
In Foren habe ich noch andere Lösungen gelesen wie z.B. basierend auf Regeln. Erst wenn ein Account min 1 Bestellung getätigt hat, kann das Formular genutzt werden usw.
Das ist natürlich auch alles möglich, aber deutlich aufwändiger. Außer, wenn es auch dort bereits fertige Erweiterungen gibt.Wer solch eine kennt, gerne in die Kommentare.