2010-11-24 10 views
0

Ich habe ein Select-Element mit 20+ Optionen und Größe 10. Ich habe nicht das Multiple-Attribut auf der Auswahl. Ein Tester kann jedoch mehrere Optionen auswählen. Der Tester verwendet IE7 unter Win XP.html select multiple

Wie ist das möglich?

Könnte der Tester eine Client-Überschreibung haben, um dies zu aktivieren?

Update: Als Antwort auf die meisten der Kommentare.

  • Das Select-Element ist nicht zurückgebucht es ist nur in einigen UI und Javascript verwendet.
  • Der Tester tut nichts aus dem Üblichen heraus (Firebug, Header)
  • Die HTML ist Ihr Standardelement mit einem Größenattribut von 10 darauf auswählen.
  • +0

    Woher wissen Sie, dass er mehrere Optionen auswählen kann? – Shikiryu

    +0

    In der Theorie, natürlich, aber ich kann nicht an eine * legitime * Weise denken (wie ein Eingabe-Helfer oder etwas) –

    Antwort

    1

    Der Tester spielt möglicherweise mit den Anforderungsheadern herum und ändert die Anzahl der Optionen direkt auf ihnen.

    Eine andere Möglichkeit, dies zu tun, ist die Verwendung von Firebug/ie-Entwicklertools. Fügen Sie dynamisch ein multiple="multiple"-Attribut zur Auswahl hinzu und wählen Sie mehrere Optionen aus.

    Das sind nur zwei Wege von der Spitze meines Kopfes. Ihr Test könnte etwas völlig anderes tun.

    Es gibt einen Grund, warum die Phrase "traue nie dem Klienten" so populär ist.

    +0

    Ich weiß für eine Tatsache, dass der Tester nichts dergleichen tut. Sie besuchen nur die Seite und können mehrere Optionen auswählen. – CeejeeB

    +0

    @CeejeeB - können Sie den HTML-Code der Auswahl (in der Frage) posten? – Oded

    +0

    @CeejeeB - Können Sie bitte _edit Ihre Frage_ und fügen Sie die _whole_ Auswahl (Öffnen, Schließen und alle Optionen innerhalb). – Oded

    1

    Der Client kann alles überschreiben, was er will - indem er ihnen den HTML-Code zum Rendern des Formulars sendet, garantieren Sie nichts darüber, was zurückgeschickt wird.

    Sie sollten die gesendeten Informationen analysieren und auf Gültigkeit prüfen - wenn Sie nur einen Wert für dieses Formulareingabeelement erwarten, entweder einen Fehler oder die zusätzlichen Werte löschen.

    +0

    Die Auswahl ist nicht zurück, es ist nur in einigen Javascript-ui und weiß für eine Tatsache, dass der Tester nichts dergleichen tun. Sie besuchen nur die Seite und können mehrere Optionen auswählen. – CeejeeB

    +0

    @CeejeeB Wir müssen dieses JavaScript dann sehen :) – alex

    +0

    Das Javascript tut nichts. Es wird nur ausgelöst, wenn eine Taste gedrückt wird, und das geschieht später. Der Tester kann mehrere Elemente aus dem Aus auswählen. – CeejeeB

    0

    Sie müssen alles auf dem

    Einfach Server überprüfen! Sie können nichts aus dem Browser vertrauen. Wenn Sie erwartet haben, dass ein Element ausgewählt wird, überprüfen Sie es auf dem Server und zeigen Sie eine Meldung an, wenn dies nicht der Fall ist.

    Ihr Tester hat ein grundlegendes Sicherheitsproblem mit Ihrer Website aufgedeckt und ich würde ihnen dafür danken.

    +0

    Ich verstehe und unterstütze Ihren Standpunkt, aber das war nicht die Frage. Ich muss wissen, wie ein Client mehrere Elemente aus einer Auswahl auswählen kann, wenn das Attribut multiple nicht vorhanden ist. – CeejeeB

    +0

    Weil der Browser alles machen kann, was er will. HTML ist einfach ein Mark-up, es ist völlig dem Browser überlassen, ob man ihm folgt oder nicht. Ihr Tester wird wahrscheinlich etwas tun, was Sie nicht erwarten. –

    +0

    Ja, gibt es einen bekannten Fehler mit ie 7 in Bezug auf dieses Problem? – CeejeeB

    Verwandte Themen