heinetz: Formular manipulieren und abschicken per JS

Hallo Forum,

folgende Situation:

In einem Formular (method="Post") habe ich ein ReadOnly-Feld definiert ... damit der User die Daten in diesem Feld nicht manipulieren kann. Ein findiger User hat aber ja die Möglichkeit, den Wert des Felds per JS in den Developer-Tools zu manipulieren und dann das Formular abzuschicken.

a) Ist das problematisch? b) lässt sich das unterbinden?

danke für Tipps und

beste gruesse, heinetz

  1. @@heinetz

    In einem Formular (method="Post") habe ich ein ReadOnly-Feld definiert ... damit der User die Daten in diesem Feld nicht manipulieren kann.

    Wozu soll das gut sein? Wenn’s kein Eingabefeld ist, warum input? Sollte das vielleicht ein output-Element sein?

    Ein findiger User hat aber ja die Möglichkeit, den Wert des Felds per JS in den Developer-Tools zu manipulieren und dann das Formular abzuschicken.

    a) Ist das problematisch? b) lässt sich das unterbinden?

    Antwort auf beide Fragen: nein. Du musst die abgesandten Formulardaten sowieso serverseitig überprüfen.

    🖖 Живіть довго і процвітайте

    --
    When the power of love overcomes the love of power the world will know peace.
    — Jimi Hendrix
    1. output ... habe ich noch nie gehört oder gar benutzt.
      Wozu soll das gut sein? Kann man nicht einfach ein div, span oder sonst was nehmen? Ich meine, sind nicht alle Elemente "outputs"?

      1. Moin T-Rex,

        output ... habe ich noch nie gehört oder gar benutzt.
        Wozu soll das gut sein? Kann man nicht einfach ein div, span oder sonst was nehmen? Ich meine, sind nicht alle Elemente "outputs"?

        "Let me 'self' that for you".

        Tatsächlich ist es neben der Semantik in der Anwendungslogik auch einfacher zu handhaben.

        Viele Grüße
        Robert

  2. Hallo,

    In einem Formular (method="Post") habe ich ein ReadOnly-Feld definiert ... damit der User die Daten in diesem Feld nicht manipulieren kann. Ein findiger User hat aber ja die Möglichkeit, den Wert des Felds per JS in den Developer-Tools zu manipulieren und dann das Formular abzuschicken.

    nicht nur per Javascript, sondern auch direkt durch Setzen des value-Attributs oder durch Wegnehmen des readonly-Attributs gefolgt von einer manuellen Wert-Eingabe.

    a) Ist das problematisch?

    Das kommt darauf an, wie du die Eingaben prüfst und verarbeitest.

    b) lässt sich das unterbinden?

    Nein.

    Einen schönen Tag noch
     Martin

    --
    "Hab ich vergessen" ist oft nur ein Euphemismus für "Hab ich noch nie verstanden".
  3. Hallo

    In einem Formular (method="Post") habe ich ein ReadOnly-Feld definiert ... damit der User die Daten in diesem Feld nicht manipulieren kann. Ein findiger User hat aber ja die Möglichkeit, den Wert des Felds per JS in den Developer-Tools zu manipulieren und dann das Formular abzuschicken.

    Ja, isso.

    a) Ist das problematisch?

    Kommt auf den Fall an, aber prinzipiell: ja, kann es.

    b) lässt sich das unterbinden?

    Ja, lässt es sich. Du musst dir die Frage stellen, was du mit den Werten aus gesperreten Feldern zu tun gedenkst. Warum werden diese Werte überhaupt im Formular in (gesperrten) Eingabefeldern angeboten, wenn sie doch nicht verändert werden dürfen?

    Du kannst die Ausgabe in gesperrten Eingabefeldern weglassen und stattdessen eine reine Textausgabe ohne input realisieren. Du kannst die Werte, die aus gesperrten Eingabefeldern kommen, bei der Verarbeitung auf dem Server verwerfen. Sie kommen doch in der Ausgabe des Formulars mutmaßlich vom Server und stehen dir dort also auch zur Verfügung.

    Tschö, Auge

    --
    200 ist das neue 35.
  4. Moin heinetz,

    du wirst um eine serverseitige Validierung nicht herumkommen. Abgesehen von der Manipulation mit den Browser-Entwicklertools, kann ein Nutzer mit Tools wie wget oder curl auch ganz ohne Browser beliebige Requests an deine Webanwendung senden.

    Viele Grüße
    Robert