2011-05-08 3 views
0

je suis en train d'entrées de l'utilisateur re-remplir dans les champs de formulaire quand ils les données d'entrée et doivent corriger en raison d'erreursdu mot de passe de type contenant le mot de passe en voir la source

j'accomplis habituellement comme ceci:

<input type="text" name="username" value="<?php echo @$_POST['username'];?>" /> 
<input type="password" name="password" value="<?php echo @$_POST['password'];?>" /> 

mon problème est que lorsque je l'ai vue la source si l'on met dans un nom d'utilisateur/mot de passe incorrect, le mot de passe réel qu'ils tapés est visible dans la source de vue (pas sûr si les questions de navigateur, mais il est firefox

quelle est la meilleure façon d'ac compliquer cela?

Répondre

1

Vous ne pouvez pas définir une valeur par défaut pour un champ de mot de passe sans que cette valeur soit dans la source, mais vous n'en avez pas besoin.

Le but d'obscurcir le mot de passe est que quelqu'un qui regarde par-dessus l'épaule de l'utilisateur ne peut pas facilement voir quel est le mot de passe.

Seul l'utilisateur (qui sait le mot de passe qu'il vient de taper) peut dire à son navigateur de Voir la Source.

Si vous vous inquiétez que le mot de passe soit intercepté pendant le transport, il est tout aussi vulnérable du navigateur vers le serveur que dans le sens inverse. Utilisez le cryptage SSL (https) pour toutes vos communications serveur-navigateur sécurisées. Pendant ce temps, puisque vous prenez des données de $_POST (qui est une entrée externe) et l'injecter directement dans la page, vous êtes vulnérable à an XSS attack.

0

Ne répétez pas le mot de passe. Il y a peu de perte (car ils ont quelque chose de mal de toute façon, et le mot de passe est la chose la plus probable qu'ils ont eu tort) et vous pouvez oublier franchement d'entrer le mot de passe dans la validation côté client, donc ce n'est pas trop gênant un utilisateur qui néglige de l'entrer de nouveau. On peut dire qu'il y a peu de risque de renvoyer le mot de passe, car le degré de sécurité quant à l'espionnage sera le même (HTTPS ou non) pour l'utilisateur qui envoie le mot de passe, et donc la seule personne susceptible d'être vue est le utilisateurs eux-mêmes, mais il est assez commun pour effacer les mots de passe dans de tels cas qu'il ne devrait pas provoquer une réaction négative trop forte chez les utilisateurs.

0

Je ne pense vraiment pas que ce soit un problème puisque le mot de passe montré dans la source est de toute façon invalide. Je ne retiens pas le mot de passe en cas d'échec, je viens d'effacer la zone de texte pour que l'utilisateur puisse retaper à nouveau.

-2

Si le nom d'utilisateur ou le mot de passe est incorrect, désélectionnez toujours le mot de passe sur la page du message d'erreur. btw ne pas mettre @ en face de $_POST, c'est une mauvaise pratique

+0

Pourquoi downvote ?? veuillez expliquer aussi – diEcho

Questions connexes