2010-11-24 5 views
0

J'ai un élément de sélection avec plus de 20 options et taille 10. Je n'ai pas l'attribut multiple sur le select. Cependant, un testeur est capable de sélectionner plusieurs options. Le testeur utilise IE7 sur Win XP.html sélectionner multiple

Comment est-ce possible?

Le testeur peut-il avoir une commande client pour l'activer?

Mise à jour: En réponse à la plupart des commentaires.

  • L'élément select n'est pas posté il est juste utilisé dans certaines interfaces utilisateur et javascript.
  • Le testeur ne fait rien d'inhabituel (firebug, en-têtes)
  • le html est votre élément de sélection standard avec un attribut de taille de 10 dessus.
+0

Comment savez-vous qu'il peut sélectionner plusieurs options? – Shikiryu

+0

En théorie, bien sûr, mais je ne peux pas penser à un moyen * légitime * (comme une aide d'entrée ou quelque chose) –

Répondre

1

Le testeur peut être en train de jouer avec les en-têtes de la requête, en modifiant directement le nombre d'options.

Une autre façon d'y parvenir est d'utiliser firebug/ie les outils de développement et d'ajouter dynamiquement un attribut multiple="multiple" à la sélection, puis sélectionnez plusieurs options.

Ce ne sont que deux façons de sortir de ma tête. Votre testé pourrait faire quelque chose d'autre entièrement.

Il y a une raison pour laquelle l'expression «ne jamais faire confiance au client» est si populaire.

+0

Je sais pour un fait que le testeur ne fait rien comme ci-dessus. Ils visitent simplement la page et sont en mesure de sélectionner plusieurs options. – CeejeeB

+0

@CeejeeB - pouvez-vous poster le code HTML du select (dans la question)? – Oded

+0

@CeejeeB - Pouvez-vous s'il vous plaît _edit votre question_ et ajouter le _whole_ select (ouverture, fermeture et toutes les options à l'intérieur). – Oded

1

Le client peut remplacer tout ce qu'ils veulent - en leur envoyant le code HTML pour rendre le formulaire, vous garantissez rien sur ce qui sera renvoyé.

Vous devriez être l'analyse syntaxique des informations envoyées en arrière et vérifier la validité - si vous attendez qu'une seule valeur pour cet élément d'entrée de forme, que ce soit une erreur ou déposez les valeurs supplémentaires.

+0

Le select n'est pas posté, c'est juste utilisé dans certains ui javascript et sachez que le testeur ne fait rien de semblable. Ils visitent simplement la page et sont en mesure de sélectionner plusieurs options. – CeejeeB

+0

@CeejeeB Nous aurons besoin de voir ce JavaScript puis :) – alex

+0

Le javascript ne fait rien. Il se déclenche seulement quand un bouton est pressé et cela est fait plus tard. Le testeur peut sélectionner plusieurs éléments à partir de l'arrêt. – CeejeeB

0

Vous devez tout vérifier sur le serveur

simple! Vous ne pouvez pas faire confiance à quoi que ce soit provenant du navigateur. Si vous vous attendiez à ce qu'un élément soit sélectionné, vérifiez-le sur le serveur et affichez un message si ce n'est pas le cas.

Vous êtes testeur a découvert un problème de sécurité fondamental avec votre site et je les en remercie.

+0

Je comprends et appuie votre argument, mais ce n'était pas la question. J'ai besoin de savoir comment un client peut sélectionner plusieurs éléments sur un select lorsque l'attribut multiple n'est pas présent. – CeejeeB

+0

Parce que le navigateur peut faire ce qu'il veut. HTML est simplement un balisage, c'est totalement au navigateur de le suivre ou non. Votre testeur est susceptible de faire quelque chose que vous ne vous attendez pas à ce qu'ils fassent –

+0

Oui, donc y a-t-il un bug connu avec ie 7 relatif à ce problème? – CeejeeB

Questions connexes