Kann das attribut pattern die Sicherheitsabfragen in php ersetzten?

  • Hallo an die Experten,


    Lese aktuell einiges über Formulareingaben und bin dort über das Attribut pattern gestoßen. Da kam bei mir folgende Frage auf:


    Aktuell versuche ich die Benutzereingaben im Formular über php abzuprüfen.

    Beispielsweise

    Code
    strip_tags(trim($_POST["telefon"])

    und

    Code
    $Fehler["telefon"] .= !preg_match("/^[ 0-9\/-]{6,}+$/", $_POST["telefon"]) ? " Die Telefonnummer ist fehlerhaft!" : "";


    Wenn ich mir jetzt in HTML das Attribut pattern anschaue, meine ich da erkennen zu können, dass diese Sicherheitsabfrage darüber schon in HTML möglich sein dürfte.


    Beispiel:

    Code
    pattern="01(5[1279]\d|6[023]|7\d)"



    Bin ich da auf dem Holzweg?


    olkostbe

  • Grundsätzlich ist das korrekt, aber man sollte sich niemals auf Client seitige Prüfungen verlassen!

    Warum? Weil jeder User das DOM mindestens über die Developer-Tools seines Browsers manipulieren kann.


    Wenn mir Deine pattern-Direktive - salop gesagt - auf den Sack geht, nehme ich das Attribut einfach weg und die Daten kommen "ungeprüft" zum Server.


    Ergo: Immer Server seitig prüfen!

    Client seitige Prüfungen erhöhen die Usability und sind in dem Maße auch sinnvoll, aber sie sind nicht zuverlässig!

  • Sinn macht das aus Usibility-Sicht immer, meiner Meinung nach.

    Immerhin sieht der Benutzer direkt beim Verlassend es Feldes, dass etwas nicht stimmt und das Formular gar nicht erst versenden kann.


    Schöner ginge es noch mit JS, weil ich da direkt während der Eingabe schon verifizieren kann, aber das pattern-Attribut kommt dagegen komplett ohne JS aus.

    Ich würde das pattern immer einsetzen, wenn es um E-Mail oder bestimmte Formate geht.


    Aber wie gesagt: die hauptverantwortliche Prüfung sollte auf dem Server passieren!

Jetzt mitmachen!

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