Kunden Spam / Anmeldung von Apple AT&T und Microsoft

So, das Plugin ist fertig :wink: Hier einige Infos. Das ganze ist als Beta-Version zu betrachten! Bitte nur nach gründlichen Tests in den Livebetrieb übernehmen. Ich freue mich über Feedback. Sobald dieses vorliegt, kommt das ganze auch in den Store. Shopware RegisterFilter Version 1.0 Features [list] [*] Shop- oder Registrierungssperre auf Basis von IP-Adresse / User-Agent (strpos)[/*] [*] Neues Backend Modul zur Definition von Blacklists für die Registrierungsfelder[/*][/list] Liste der abfragbaren Form-Felder [list] [*] [personal][firstname][/*] [*] [personal][lastname][/*] [*] [personal][email][/*] [*] [personal][password][/*] [*] [personal][phone][/*] [*] [billing][company][/*] [*] [billing][department][/*] [*] [billing][ustid][/*] [*] [billing][street][/*] [*] [billing][streetnumber][/*] [*] [billing][zipcode][/*] [*] [billing][city][/*] [*] [shipping][street][/*] [*] [shipping][streetnumber][/*] [*] [shipping][zipcode][/*] [*] [shipping][city][/*][/list] Beispiele für reguläre Ausdrücke Firmenname darf nicht Microsoft oder Apple sein. Postfield: [billing][company] Regex: /Microsoft|Apple/ eMail-Adresse nicht gmail.com. Postfield: [personal][email] Regex: /@gmail.com/ Vorname nicht Henry: Postfield: [personal][firstname] Regex: /Henry/ Telefonnummer nicht mit 1- beginnen Postfield: [personal][phone] Regex: /^1-/ Weitere Beispiele für konkrete Fälle gerne auf Anfrage. Wichtig! Für jede Filter-Bedingung kann ein Score vergeben werden, da durch sind z.B. Kombinationen möglich. Also Henry alleine ist okay, Henry in Kombination mit einer gmail Adresse liegt über dem Max-Score in den Plugin-Einstellungen und soll geblockt werden Weitere Hinweise Bitte neue Filter gründlich testen! Ihr könnt die Filter direkt aus dem Plugin heraus validieren - einfach auf das Filter-Symbol im Grid rechts klicken. Dort könnt ihr dann einen String eingeben, der gegen euren Regex geprüft wird.

Hallo ! Habe das in Testumgebung 3.5.4 probiert, klappt wunderbar ! Groß- und Kleinschreibung wird aber unterschieden…daher Microsoft muß auch als microsoft angelegt werden… FRAGE: Welches Trennzeichen wäre bei den IP Adressen als Liste anzuwenden ?? Komma oder Strichpunkt ?? edit: geht man nach Absende der Registrierung noch mal im Browser eine Seite retour und betätigt nochmals den Button kommt Fatal error: Cannot use object of type stdClass as array in /var/www/shopware354/htdocs/engine/core/class/sAdmin.php on line 1190 als Fehlermeldung.

Hi Klaus, ja genau, Groß- und Kleinschreibung wird hier getrennt betrachtet. Zu den IP-Adressen: Diese bitte einfach Zeilen-getrennt definieren, also: 192.168.178.20 192.168.178.150 192.168.178.140 Kannst du dann nach Änderung und Leerung des Caches den Ablauf noch einmal prüfen? Die Fehlermeldung konnte ich noch nicht reproduzieren. Sebastian

Bzw. http://php.net/manual/de/reference.pcre … ifiers.php Du kannst auch einach beim letzten Slash ein i hinten dran hängen, dann ist das nicht mehr case sensitive. Also z.B. /microsoft/i matched auf Microsoft und microsoft.

Hallo ! Ja passt…dürfte wirklich noch etwas im Cache gewesen sein ! Auch die Filterung mit dem /i klappt perfekt. Also für 3.5.4 würde ich derzeit sagen fehlerfrei. Jetzt nur noch eine Frage: Geht dies auch noch für Version 3.5.3 ??? Oder was müsste ich anpassen, dass es für 3.5.3 funktioniert.

[quote]Jetzt nur noch eine Frage: Geht das Plugin auch noch für Version 3.5.3 ??? Oder was müsste ich anpassen, dass es für 3.5.3 funktioniert.[/quote] Habe es auf 3.5.3 in Testumgebung installiert… bekomme leider nur leeres Fenster bei dem Menüpunkt „Register Blacklist“ … Wer kann hier helfen, würde das noch für einen 3.5.3 Shop benötigen…

Hallo, auf Shopware 3.5.3 funktioniert das noch nicht. Die benötigst mindestens eine 3.5.4er Version. In 3.5.3 fehlen noch Dateien (EXT 4), welche erst ab 3.5.4 vorhanden sind.

Hi, Danke…somit alles geklärt… (dirty workaround: tabelle s_core_plugins_registerfilter_filter = Register Blacklist Inhalt, manuell befüllen und die Anzeige des Menüpunktes „Register Blacklist“ unterbinden machts auch für 3.5.3 einstweilen möglich :wink: )

Moin, ich versuche das Plugin zu nutzen. Leider arbeitet es im Frontend bei mir nicht korrekt. Im Backend bekomme ich eine Erfolgsmeldung beim Testen. Im Frontend kann ich mich ohne Probleme mit dem Firmennamen Apple registrieren. Woran könnte das liegen? 3.5.5 Danke

Hallo :shopware: habt ihr keine Idee?

Hallo Shopware, wenn ich mir nicht täusche ist das Plugin von euch :wink: Woran kann es liegt, dann es bei mir nicht funktioniert?

Hey, stell mal deine genaue Backend-Konfiguration als Screenshot ein.

Morgen Stefan, anbei ein paar Screenshots:

Hmm - das sieht soweit erstmal okay aus - kannst du mal prüfen, ob die Events im Plugin (Bootstrap) wirklich getriggert werden? Also vor allem onValidateBefore - dort einfachmal ein die(); einbauen und testen, ob das bei Aufruf der Register-Seite aktiv wird.

ja, das Event wird aufgerufen.

Okay, ich glaube ich habs: if(!$request-\>isDispatched() || $response-\>isException() || $request-\>getModuleName() != 'frontend' || !empty(Shopware()-\>Session()-\>isSpam)) { var\_dump($request-\>isDispatched()); var\_dump($response-\>isException()); var\_dump($request-\>getModuleName()); var\_dump(Shopware()-\>Session()-\>isSpam); die('stopp'); return; } Hier hauts mich raus. Ausgabe: bool(true) bool(false) NULL NULL stopp

Okay, das Problem ist, dass getModuleName keinen Wert zurückliefert - eigentlich müsste da “Frontend” drin stehen. Hast du vielleicht noch andere Plugins aktiv, die das verursachen könnten?

Von den Community Plugins sind nur 3 aktiv. Offiziell: Shopware Upload Plugin Register Spam Plugin Eigene: OrderUpload Das eigene hat aber nur folgende Events. Daher kann es daran eig. nicht liegen, oder? $event = $this-\>createEvent( 'Enlight\_Controller\_Action\_PostDispatch\_Frontend\_Checkout', 'onPostDispatch' ); $this-\>subscribeEvent($event); $event = $this-\>createEvent( 'Enlight\_Controller\_Action\_PostDispatch\_Frontend\_Account', 'onPostDispatchAccount' ); $this-\>subscribeEvent($event); $event = $this-\>createEvent( 'Enlight\_Controller\_Dispatcher\_ControllerPath\_Frontend\_OrderUpload', 'onGetControllerPath'); $this-\>subscribeEvent($event);

Hey, probiere mal die Priorität des Events Enlight_Controller_Front_PreDispatch von 10 auf 0 zu reduzieren bzw. von 10 auf 500 zu erhöhen. Eventuell hängt da irgendein anderer Event von einem anderen Plugin in der Queue der die Ausführung stört. Sollte das nicht funktionieren, die IF-Abfrage wie folgt modifizieren. Über der If-Abfrage ergänzen: $moduleName = $request->getModuleName(); Statt || $request->getModuleName() != ‘frontend’ || bitte || (!empty($moduleName) && $moduleName != ‘frontend’) ||

Danke dir, nun geht es.