Formulare in Contenido uns Spam

Fragen zur Installation von CONTENIDO 4.10? Probleme bei der Konfiguration? Hinweise oder Fragen zur Entwicklung des Systemes oder zur Sicherheit?
Antworten
lunsen_de
Beiträge: 297
Registriert: Mo 17. Okt 2005, 20:26
Wohnort: Weimar
Kontaktdaten:

Formulare in Contenido uns Spam

Beitrag von lunsen_de » Mi 26. Feb 2020, 16:03

Hallo zusammen,

ich wollte hier gerne einmal über eure Erfahrungen und evtl. Lösungen zum Einsatz eines Formulares in einer Contenido sprechen.

Wir erhalten mittlerweile sehr viele Kundenaussagen/Anfragen/Infos zu vermehrtem Aufkommen von Spaminhalten in ausgefüllten Formularen.

Die Kunde haben sowohl 4.8, meist 4.9 oder 4.10 im Einsatz.

Das Captcha bringt in den meisten Formularen fast garnichts mehr. Die Schrift/Zahlen Captchas in den 4.8 als auch 4.9 stellen scheinbar kein Problem mehr dar (z.B. conCaptcha von Oldperl für 4.9 oder xtcDynSpryForm0.9.2 für 4.8).

Bei der Lösung aus 4.10 (Google Captcha) scheuen sich viele, da man nicht genau erkennt und den Kunden erläutern kann, was google überträgt/analysiert und noch einige Entscheidungen offen sind. Des Weiteren lässt sich das Captcha nicht in eine 4.9 integrieren/nachrüsten (ich kann es jedenfalls nicht).

Hat jemand andere Methoden im Einsatz, die Spam (derzeit) sicher abhalten? Es gibt einige Ansätze von denen ich aber nicht wüsste, wie man sie integriert (z.B. Honeypot, Zeitmessung... ).

Gibt Plugins/Erweitereungen, andere Captchas die man in 4.9 oder 4.10 integrieren kann?


Grüße larslunsen

bodil
Beiträge: 340
Registriert: Fr 7. Okt 2011, 04:10
Kontaktdaten:

Re: Formulare in Contenido uns Spam

Beitrag von bodil » Mi 26. Feb 2020, 20:52

Ich habe mit einem einfachen Honeypot gute Erfahrungen gemacht, ein anderes CAPTCHA habe ich noch nie eingesetzt und ich hatte nie Probleme wegen Spam.
Geht wie folgt: Du fügst im Formular ein Inputfeld für Text ein. So wie alle anderen Felder, beschriftest auch dieses, ich benutze gerne das Label »Vorname«. Die komplette Zeile mit diesem Inputfeld machst du aber mit css unsichtbar (display:none), am besten über eine Klasse und die css-Datei.
Nach Absenden des Formulars erkennst du Bots daran, dass sie dieses Feld ausfüllen. Normale Seitenbesucher tun das nicht, weil sie es nicht sehen.
Die Seite bedankt sich so oder so nett für die Verwendung des Kontaktformulars, ist das Feld für den Vornamen leer, leitest du die Mail weiter, ist es ausgefüllt eben nicht.
Viel Erfolg!
Bodil

Faar
Beiträge: 1915
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: Formulare in Contenido uns Spam

Beitrag von Faar » Do 27. Feb 2020, 15:42

Ich habe mit einem einfachen Honeypot gute Erfahrungen gemacht
Genau, der Honeypot funktioniert sehr gut.
Den habe ich in meinen Formularen für 4.8 und 4.9 eingebaut.
viewtopic.php?f=89&t=35012
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

lunsen_de
Beiträge: 297
Registriert: Mo 17. Okt 2005, 20:26
Wohnort: Weimar
Kontaktdaten:

Re: Formulare in Contenido uns Spam

Beitrag von lunsen_de » Fr 28. Feb 2020, 10:23

Hallo, danke schon einmal für die Antworten.

Bodil, wie und wo regelst du denn dann die Weiterleitung, wenn das Feld ausgefüllt ist? Im Modul, auf dem Server oder im Mailclient?

Hat jemand eine Idee, wie man den Honeypot ins Pifa Plugin integriert? Wäre sicher für viele ein sinnvolle Erweiterung!

Grüße larslunsen

bodil
Beiträge: 340
Registriert: Fr 7. Okt 2011, 04:10
Kontaktdaten:

Re: Formulare in Contenido uns Spam

Beitrag von bodil » Fr 28. Feb 2020, 20:30

Ich schicke die Mails dann einfach nicht ab. Alternativ kannst du der Betreffzeile auch irgendwas voranstellen, was es dann dem Empfänger-Client leicht macht, die Mail auszusortieren (»*** SPAM ***« z. B.) – dann behältst du den Überblick über die Wirksamkeit deines Spam-Schutzes.

McHubi
Beiträge: 1209
Registriert: Do 18. Nov 2004, 23:06
Wohnort: Mettmann
Kontaktdaten:

Re: Formulare in Contenido uns Spam

Beitrag von McHubi » Fr 28. Feb 2020, 21:49

Hallo Lars,

ich nutze für meine Sites und Kunden meinen eigenen Formulargenerator: viewtopic.php?f=116&t=43507
Der beinhaltet ein "Countcha", was das Spamaufkommen auf Null reduziert hat. Damit Du Dir was drunter vorstellen kannst, wirf mal einen Blick auf diese Seite hier als Beispiel: https://www.sankt-martin-metzkausen.de/ ... ntakt.html

VG,

Markus
seamless-design.de
"Geht nicht!" wohnt in der "Will nicht!"-Strasse.

Das Handbuch zur Version 4.10: CONTENIDO für Einsteiger (4.10)

Das Handbuch zur Version 4.9: CONTENIDO für Einsteiger (4.9)

lunsen_de
Beiträge: 297
Registriert: Mo 17. Okt 2005, 20:26
Wohnort: Weimar
Kontaktdaten:

Re: Formulare in Contenido uns Spam

Beitrag von lunsen_de » Mo 9. Mär 2020, 08:38

Hallo zusammen, erst einmal Danke für die Antworten.

Markus, dein Formular werde ich testen. Ist sicher gut für einen Kunde, der nur ein Formular (Kontaktformular) hat und dies nicht so häufig ändern muss.

Da es aber für einen Kunden der häufig neue Formulare für Schulungen oder Ähnliches erstellen muss nicht ganz so komfortabel ist wie das Pifa Formular würde mich interessieren, Bodil, wie du das mit dem nicht abschicken löst, also Code und Stelle wären da gut, um zu sehen, wie und wo du das löst.
Sollte doch sicher auch kein Geheimnis sein, da wir alle etwas davon haben, wenn es weniger Spam in der Welt von Contenido gibt.

Vielleicht gibt es auch noch andere Ideen, wie man Pifa erweitern kann.

Grüße larslunsen

bodil
Beiträge: 340
Registriert: Fr 7. Okt 2011, 04:10
Kontaktdaten:

Re: Formulare in Contenido uns Spam

Beitrag von bodil » Mo 9. Mär 2020, 15:12

Upps! Ich nutze ein selbstgestricktes Modul. Mit dem mitgelieferten Kontakt-Formular kenne ich mich nicht aus. :-(

lunsen_de
Beiträge: 297
Registriert: Mo 17. Okt 2005, 20:26
Wohnort: Weimar
Kontaktdaten:

Re: Formulare in Contenido uns Spam

Beitrag von lunsen_de » Mo 9. Mär 2020, 16:01

Hallo, und das selbstgestrickte Modul möchtest du nicht posten?

Grüße larslunsen

bodil
Beiträge: 340
Registriert: Fr 7. Okt 2011, 04:10
Kontaktdaten:

Re: Formulare in Contenido uns Spam

Beitrag von bodil » Mi 11. Mär 2020, 12:18

Nein. Das basiert auf uraltem Code, der vermutlich mal im Lieferumfang von Contenido enthalten war. Arbeitet komplett ohne Templating und der Code erfüllt auch sonst keine der heutigen Standards mehr.
Aber: irgendwo muss jedes Formular eine Mail versenden. Und dort kann man auch das $_REQUEST-Array auslesen und mit einer if-Abfrage

Code: Alles auswählen

if (empty($_REQUEST['prename'])) {
...
}
entscheiden, ob die Mail wirklich gesendet wird.
Wie das Formular, das zum Lieferumfang von 4.10.1 gehört, funtioniert, hab ich aber leider noch nicht verstanden. Es wird der Typ PIFAFORM benutzt. Ich habe auf die Schnelle aber nicht rausgefunden, wo der definiert wird.
Grüße aus dem Norden!
Bodil

Oldperl
Beiträge: 4251
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Kontaktdaten:

Re: Formulare in Contenido uns Spam

Beitrag von Oldperl » Mi 11. Mär 2020, 15:18

Servus,
bodil hat geschrieben:
Mi 11. Mär 2020, 12:18
Wie das Formular, das zum Lieferumfang von 4.10.1 gehört, funtioniert, hab ich aber leider noch nicht verstanden. Es wird der Typ PIFAFORM benutzt. Ich habe auf die Schnelle aber nicht rausgefunden, wo der definiert wird.
Die Definition des PIFA-Formulares erfolgt im PIFA-Plugin. Dort kann per Drag&Drop das Formular mit vorgegebenen Feldern zusammengebaut werden. Auch kann man, eingeschränkt, verschiedene Aktionen für diese Felder einrichten bzw. eigene JS-Aktionen einbauen.

Leider ist die Doku zum Plugin ein bisserl dünn und gerade auch mal wieder https://docs.contenido.org/ nicht erreichbar.

Gruß aus Franken

Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog

xmurrix
Beiträge: 3143
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Formulare in Contenido uns Spam

Beitrag von xmurrix » Mi 11. Mär 2020, 15:50

Hallo lunsen_de,

Honeypot ist die Technik, die bodil beschrieben hat und das kannst du auch mit dem Pifa Formular umsetzen.
  • Füge dem Formular ein Einzeiliges Eingabefeld
  • Gebe eine Beschriftung (Label) an
  • Wähle "Beschriftung darstellen" an
  • Gebe als Validierungsregel /^$/ an, das sorgt dafür, dass ein eingegebener Wert im Feld nicht durch die Prüfung durchkommt
  • Gebe einen Spaltennamen an
Damit das Feld nicht angezeigt wird, kannst du es per CSS verstecken, z. B.

Code: Alles auswählen

#pifa-field-123 {
   position: absolute;
   left: -999px;
}
Ansonsten ist Pifa Formular einfach erweiterbar, du kannst unter contenido/plugins/form_assistant/extensions eigene Erweiterungen implementieren, z. B. einen eigenen Form Processor, der das Formular verabeitet.
Erstelle z. B. eine Datei "class.pifa.my_form_processor.php" mit folgendem Code:

Code: Alles auswählen

class MyFormProcessor extends DefaultFormProcessor {
        // Die Funktion wird nach der Validierung der Daten ausgeführt, hier kann man eigene Validierungen implementieren...
	// Siehe PifaForm->validate() in contenido/plugins/form_assistant/classes/class.pifa.form.php
	protected function _processValidatedData() {
	}
}
Du kannst dabei die Funktionen der Klasse DefaultFormProcessor (in contenido/plugins/form_assistant/extensions/class.pifa.default_form_processor.php) überschreiben.
  • Die Funktion _processReadData() wird nach dem Lesen der Formulardaten ausgeführt
  • Die Funktion _processValidatedData() wird nach der Validierung der Formulardaten ausgeführt
  • Die Funktion _processStoredData() wird nach dem Speichern der Formulardaten ausgeführt
Du kannst auch in der Funktion _processValidatedData() z. B. die Spam-Prüfung von StopForumSpam einbauen und wenn StopForumSpam die Anfrage als Spam kennzeichnet, einfach einen Fehler ("throw new PifaValidationException(['Anfrage ist Spam']);") werfen. Dann wird das Formular nicht in der Datenbank gespeichert, eventuelle E-Mails werden auch nicht versendet.

Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

Faar
Beiträge: 1915
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: Formulare in Contenido uns Spam

Beitrag von Faar » Do 12. Mär 2020, 10:40

Sehr schöner Beitrag, Xmurrix.
Aber die Doku geht noch nicht, ich würde sowas gerne in die Doku aufnehmen.
https://docs.contenido.org/
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

xmurrix
Beiträge: 3143
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Formulare in Contenido uns Spam

Beitrag von xmurrix » Do 12. Mär 2020, 11:06

Faar hat geschrieben:
Do 12. Mär 2020, 10:40
...Sehr schöner Beitrag, Xmurrix.
Aber die Doku geht noch nicht, ich würde sowas gerne in die Doku aufnehmen...
Danke. Ich befürchte, wir müssen eine eigene Doku-Seite auf github erstellen, da kann man Wiki-Seiten zu einem Projekt hinzufügen. Schön wäre es, wenn 4fb uns die bisherigen Dokus zur Verfügung stellt. Dann müssen wir nicht bei Null anfangen.
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

Antworten