Suche modernes Kontaktformular mit Spamschutz

  • Hallo an alle,


    ich bin auf der Suche nach einem modernen Kontaktformular mit Spamschutz. Modern soll heißen an die heutigen Standards angepasst, zB PHP7, Sicherheit etc.

    Ich hab hier im Forum ein Tutorial zum PHP-Mailer gefunden, das mir auch schon beim Googlen unterkam. Dort stört mich aber, dass ich meine SMTP-Zugangsdaten angeben soll...die liegen ja dann einfach mal so auf dem Server rum und können ausspioniert werden. Genauso beim Swift Mailer.

    Kontaktformular.com ist leider nur für Privatanwender kostenlos und ich soll eine Seite für Vereine machen, wofür es explizit als nicht kostenlos ausgewiesen ist.

    EasyPHP Contact Form würde mir nun am meisten zusagen mit der Honeypot-Funktion. Captcha will ich keines, die sind nur lästig und liegen zum Teil ja auch wieder auf externen Servern.


    Auf einer Website, die ich vor 15 Jahren gestaltet habe, hab ich folgendes Formular verwendet und (natürlich) Spam ohne Ende bekommen. (Namen rausgelöscht, die Seite existiert nicht mehr).


  • Dort stört mich aber, dass ich meine SMTP-Zugangsdaten angeben soll...die liegen ja dann einfach mal so auf dem Server rum und können ausspioniert werden.

    Und wie sollte das gehen?

    mit der Honeypot-Funktion

    Das kann man leicht selber programmieren.

    ich soll eine Seite für Vereine machen

    Machen wir hier deinen Job?

    Auf einer Website, die ich vor 15 Jahren gestaltet habe

    Und genau deswegen hättest du den veralteten Kram gar nicht posten müssen.


    Bei soviel Text und veraltetem Code fehlt mir nur eines: deine Frage.

  • Und wie sollte das gehen?

    Das weiß ich nicht, ich bin kein Hacker. ;-) Aber die PHP-Dateien lassen sich bestimmt auslesen. Deswegen ist mir das suspekt, die SMTP-Daten dort offen einzugeben.


    Machen wir hier deinen Job?

    Ne, wieso? Sagt ja niemand. Hab damit nur gesagt, dass die Seite, die ich mache, für einen Verein ist, und ich daher Kontaktformular.com nicht verwenden darf.



    Und genau deswegen hättest du den veralteten Kram gar nicht posten müssen.

    Es hätte ja sein können, dass der heute auch noch was taugt - mit ein paar Ergänzungen.



    Meine Frage letzten Endes wäre eig, welche Kontaktformulare man heutzutage so verwendet bzw. ob dieses EasyPHP was taugt. Ich denke mal, so falsch wird das nicht sein, aber ihr habt ja mehr Erfahrung.

  • So, da bin ich wieder. Hab mir nun auch ein paar Youtube-Tutorials angesehen - natürlich keine alten, sondern aus den letzten 1-2 Jahren. Die sind auch total einfach und verständlich, das könnt ich glatt selber.

    Was ich aber nicht verstehe - eben weil ich's einfach nicht besser weiß - wenn die so einfach sind, gibt's da Nachteile in Sachen Sicherheit oder so? Es gibt ja nicht umsonst Formulare, wo jede Menge komplexer Code dahintersteckt.

    Und vielleicht kann mir auch jmd sagen, was an meinem alten Formular falsch ist. Einfach nur, weil das nicht PHP7 ist oder gibt's da noch andere Mängel? Mal abgesehen davon, dass da kein Spamschutz drin war.


    Dann hab ich noch eine allgemeine Formular-Frage, die eher HTML betrifft. Man sollte ja zwecks Barrierefreiheit immer einen Label-Tag angeben. Ich will aber kein Label dastehen haben, finde es nur mit Platzhalter einfach auch schöner. Wenn ich das über CSS mit display:none formatiere, ist es ja im HTML vorhanden. Reicht das für Screenreader öÄ aus oder muss das Label tatsächlich sichtbar vorhanden sein? Man sieht es ja wirklich oft nur mit Platzhaltern.


    Danke.

  • Es gibt ja nicht umsonst Formulare, wo jede Menge komplexer Code dahintersteckt.

    Das hängt ja zum großen Teil vom Formular ab.

    oder gibt's da noch andere Mängel?

    Wie schon geschrieben, du benutzt da die mail-Funktion von PHP anstatt auf eine Mailerklasse w.z.B. den phpMailer zu setzen.

    Reicht das für Screenreader

    Die Antwort kannst du dir doch selber beantworten: Screenreader sagt doch alles.

  • An der mail()-Funktion ist per se nichts falsch. Nur sollte man, um auch garantieren zu können, dass ein Mail ankommt, dieses korrekt versenden, d.h. mit den korrekten Headern, etc. Wenn du fähig bist Dich durch die ganzen RFC's durchzuwühlen kannst du gerne mit mail() verschicken. Ansonsten würd ich einfach zu einem fertigen Mailer greifen, da hat einer schon die Arbeit für Dich getan und du bist auf der sicheren Seite. Wenn man ein Mail einfach so mit mail() verschickt, wie das viele Tutorials und so tun, ist es durchaus möglich, dass es nicht ankommt. Oder im SPAM-Ordner verschwindet.