Kontaktformular Sicherheit??? /PHP

  • Guten Tag!
    Ich habe mich hier grade neu angemeldet, ich beschäftige mich seit einem Jahr mit HTML und CSS. Nun habe ich auch mit PHP angefangen! Mein Ziel ist es ein gutes und vor allem Sicheres Kontaktformular ein zu binden! Da ich ein absoluter Anfänger in Sachen PHP bin hoffe ich hier auf eure Hilfe :)


    Hier ist mein bisheriger Code, bitte erweitert ihn oder gebt mir Tipps was alles noch fehlt zum guten und vor allem Sicheren Kontaktformular:



    Vielen Dank für eure Hilfe, gruß Christian!

  • Du solltest auf jeden Fall mit PHP überprüfen, ob deine maxlength Werte auch nicht überschritten sind (das kann man umgehen), und ob z.B. deine E-Mail-Adresse wirklich eine ist (Stichwort Regex). Außerdem alles das, was Bots davon abhält dein Formular vollzuspammen ;)


    Gruß
    Laura

  • Vielen Dank für eure Hilfe!
    Ich habe meinen Code um zu überprüfen ob die eingegebene Email Adresse valide ist erweitert, jetzt muss ich das aber noch in eine Bedingung mit aufnehmen dies bereite mir aber leider große Probleme, vielleicht kann einer diesen Code mal raus kopieren und speichern, damit mein Problem erkannt wird (Problem: alle Felder ausgefüllt, Emailadresse aber falsch! Sendet aber trotzdem!)


    Weiteres: wie kann ich in meinem Code denn überprüfen ob maxlength Werte auch nicht überschritten sind? Was sollte ich denn genau einsetzen was Bots davon abhält mein Formular vollzuspammen? zB. wo finde ich gute Beispiele oder Anleitungen die ich in meinem Code übernehmen bzw. einbauen kann?
    ..........vielen vielen Dank!!!!!!!!

  • Du musst die Überprüfung der E-Mail Adresse auch in die Bedingung, ob abgesendet wird, reinschreiben. Sonst prüft er die E-Mail Adresse ja nur, wenn irgendetwas anderes falsch ist.


    Du solltest die Rückgabewerte der Funktion noch ändern, beispielsweise so:

    PHP
    <span class="syntaxdefault"><br /></span><span class="syntaxkeyword">function </span><span class="syntaxdefault">is_mail </span><span class="syntaxkeyword">( </span><span class="syntaxdefault">$testmail </span><span class="syntaxkeyword">) {        </span><span class="syntaxcomment">//funktion zur überprüfung der Emailadresse ob sie valide ist!<br />        </span><span class="syntaxdefault">$suchmuster </span><span class="syntaxkeyword">= </span><span class="syntaxstring">"/^[-\w.]+@([A-z0-9][-A-z0-9]+\.)+[A-z]{2,4}$/"</span><span class="syntaxkeyword">;<br />        if (</span><span class="syntaxdefault">preg_match</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$suchmuster</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">$testmail</span><span class="syntaxkeyword">) {<br />         return </span><span class="syntaxdefault">true</span><span class="syntaxkeyword">;<br />        }<br />        else { <br />         return </span><span class="syntaxdefault">false</span><span class="syntaxkeyword">;<br />        }<br />}<br /> </span><span class="syntaxdefault"></span>


    Die Bedingung könnte dann so aussehen:

    PHP
    <span class="syntaxdefault"><br />    </span><span class="syntaxkeyword">if (</span><span class="syntaxdefault">$benutzername </span><span class="syntaxkeyword">== </span><span class="syntaxstring">"" </span><span class="syntaxkeyword">OR<br />        </span><span class="syntaxdefault">$mail         </span><span class="syntaxkeyword">== </span><span class="syntaxstring">"" </span><span class="syntaxkeyword">OR<br />        </span><span class="syntaxdefault">$betreff      </span><span class="syntaxkeyword">== </span><span class="syntaxstring">"" </span><span class="syntaxkeyword">OR<br />        </span><span class="syntaxdefault">$nachricht    </span><span class="syntaxkeyword">== </span><span class="syntaxstring">""  </span><span class="syntaxkeyword">OR<br />        </span><span class="syntaxdefault">false </span><span class="syntaxkeyword">=== </span><span class="syntaxdefault">test_mail</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$mail</span><span class="syntaxkeyword">) )<br /> </span><span class="syntaxdefault"></span>
  • Kleiner Tipp am Rande:


    PHP
    <span class="syntaxdefault"><br /> </span><span class="syntaxkeyword">if <br /> (<br />  </span><span class="syntaxdefault">$benutzername </span><span class="syntaxkeyword">== </span><span class="syntaxstring">"" </span><span class="syntaxkeyword">OR<br />  </span><span class="syntaxdefault">$mail         </span><span class="syntaxkeyword">== </span><span class="syntaxstring">"" </span><span class="syntaxkeyword">OR<br />  </span><span class="syntaxdefault">$betreff      </span><span class="syntaxkeyword">== </span><span class="syntaxstring">"" </span><span class="syntaxkeyword">OR<br />  </span><span class="syntaxdefault">$nachricht    </span><span class="syntaxkeyword">== </span><span class="syntaxstring">""  </span><span class="syntaxkeyword">OR<br />  !</span><span class="syntaxdefault">test_mail</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$mail</span><span class="syntaxkeyword">)<br /> )<br /> </span><span class="syntaxdefault"></span>


    So reicht das in diesem Fall völlig.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!