Mehrere Formulare mit Javascript

Alice

Erfahrenes Mitglied
Hallo Leute. :)

Ich habe auf meiner Webseite ein paar Skripte am laufen um Avatare, Signaturgrafiken, usw. zu erstellen.

Alleine für die Avatare habe ich 5 verschiedene Skripte am laufen, die sich zwar ähnlich sind aber auch in einigen Punkten ganz verschieden sind.

Meine Idee ist nun die 5 Skripte zusammenzulegen und in ein einziges Skript laufen zu lassen.

Rein vom PHP bekomme ich das hin aber wie sieht es mit dem HTML-Formular aus? Es wäre ja unsinnig alle Input-Felder und Options-Felder anzeigen zu lassen obwohl bei Beispielsweise "Avatar Typ 2" diese und jene Option gar nicht möglich ist.

Welche Möglichkeiten habe ich, um dies umzusetzen? Wie sieht es mit der "Sicherheit" aus? Also nehmen wir an es gibt die Option "GIF-Animation" die eigentlich nur für Avatare vom Typ 3 möglich sind. Mit einfachen Browser-Tools kann man ja das HTML-Formular usw. manipulieren. Kann man Javascripte so manipulieren das ausgelendete Options-Felder sichtbar gemacht werden und auch abgesendet (PHP Post) werden?

Auf einer Webseite habe ich ein HTML-Formular gesehen (mit Javascript) wo im Quelltext verschiedene "Konstellationen" geladen werden. So etwas würde ich mir auch wünschen.
 
Du kannst die Felder ein- und ausblenden und das ist gar nicht so schwer. Die Sicherheit, dass nur die entsprechenden Daten an dein Skript gesendet werden, ist schon dadurch nicht gegeben, dass man auch auf anderem Wege die Daten an dein Skript schicken kann ohne dein Skript nutzen zu müssen.
Code:
window.onload = function ()
{
  var select = document.getElementById('form-avatar-generator-select');
  select.addEventListener('change', function ()
  {
    switch(this.value)
    {
      case 1:
      case 2:
      case 3:
        document.getElementById('form-avatar-generator-field1').style.display = 'none';
        break;
      case 4:
      case 5:
        document.getElementById('form-avatar-generator-field1').style.display = '';
        break;
    }
  }, false);
};
HTML:
<form id="form-avatar-generator" action="generator.php" method="post">
  <select size="1" id="form-avatar-generator-select" name="generator[select]">
    <option value="1">Avatar 1</option>
    <option value="2">Avatar 2</option>
    <option value="3">Avatar 3</option>
    <option value="4">Avatar 4</option>
    <option value="5">Avatar 5</option>
  </select>
  <input type="text" name="generator[field1]" id="form-avatar-generator-field1" />
</form>
 
Die Sicherheit, dass nur die entsprechenden Daten an dein Skript gesendet werden, ist schon dadurch nicht gegeben, dass man auch auf anderem Wege die Daten an dein Skript schicken kann ohne dein Skript nutzen zu müssen.

Ach echt? Und wie?

Mein eigentliches Skript wird über ein anderes Skript eingebunden und die Skript.php wird nirgends angezeigt. Egal? Trotzdem möglich?
 
Wie? Eigentlich nicht.

Die ganzen Input-Felder und Optionen haben doch vorgaben.

Aber ich glaube ich weiss was du meinst.
 
Ich kann mir doch einfach ein eigenes Formular erstellen und auf diese Seite verweisen. Oder ich arbeite mit CURL. Oder ich manipuliere dein Formular, indem ich lokal über die Javascript-Konsole Befehle eingebe. Oder ich schreibe eine eigene HTTP-Anfrage und schicke sie über einen Socket an deine Seite. Da gibt es viele Möglichkeiten.

Nachtrag: Auch wenn deine Eingabefelder Vorgaben haben, heißt das nicht, dass du am Ende das erhälst, was du erwartest. Deshalb (nächster Merksatz für dich): Traue niemals einem Nutzer/Nutzereingaben.
 

Neue Beiträge

Zurück