32 votes

Les identifiants doivent être une page https

Plusieurs experts de la sécurité ont dit dans le passé que la page de connexion doit être sur le protocole ssl (https). Alors que faire si mon login est un bloc qui s'affiche sur toutes les pages. Est-ce à dire que la totalité de mon site web doit être en https?

J'ai lu qu'il est possible de mettre le formulaire sur http mais post https, mais j'ai lu quelqu'un dire qu'il peut être exploitée avec un homme dans le milieu de l'attaque. Quelqu'un peut-il confirmer cela? J'ai un bounty de 100 points pour quelqu'un qui peut confirmer (et m'aider avec une réponse pratique de manière sûre résoudre ce problème). Mon formulaire de connexion sur chaque page, je dois faire l'ensemble du site en https? N'hésitez pas à la question de rien je l'ai dit ici. Ce ne sont que des choses que j'ai lu, mais n'avez pas d'expérience avec, et ne l'ai pas essayé moi-même.

Edit: pour ceux qui ont demandé, lorsque j'ai été poster la question, j'ai essayé le réglage de la bounty, mais le système ne me laisse pas. J'ai vérifié la FAQ et vu que la générosité peut être affiché après 2 jours de l'affichage de la question. C'est pourquoi vous voyez pas de bounty encore. Mais je ne vais pas répondre jusqu'à ce que j'ai mis une prime dans 2 jours. Désolé pour la confusion.

31voto

Quentin Points 325526

J'ai lu qu'il est possible de mettre le formulaire sur http mais post https, mais j'ai lu quelqu'un dire qu'il peut être exploitée avec un homme dans le milieu de l'attaque. Quelqu'un peut-il confirmer cela?

Oui. Le formulaire est servi sur HTTP, donc un homme dans le milieu pourrait injecter des modifications (par exemple, de sorte qu'il envoie des informations d'identification de leur propre serveur avant que le formulaire soumet).

une réponse pratique de manière sûre résoudre ce

Si la sécurité est vraiment important - utiliser le protocole HTTPS pour l'ensemble du site. Même après le mot de passe a été envoyé, si vous retournez à l'adresse HTTP alors le cookie peut être volé (voir Firesheep)

Si la sécurité n'a pas beaucoup d'importance, alors ne mettez pas le formulaire de connexion sur chaque page. Juste un lien vers une page de connexion à la place.

7voto

dr. evil Points 12196

Réponse simple "Oui" votre page de connexion et le reste des sites Web doivent être servis via SSL

Et voici pourquoi de la FAQ sur l'implémentation SSL:

4voto

PJK Points 743

Eh bien, si vous n'utilisez pas le protocole SSL pour les connexions de l'utilisateur mot de passe peut être révélé à quiconque a les moyens d'écouter de la communication client-serveur (en gros la lecture du flux de données). (Ce qui n'est pas bon ^^)

Comme dit ci-dessus goreSplatter, vous pouvez facilement définir la forme de la cible garanties d'extrémité (c'est à dire https://site.com/login) et une connexion sécurisée sera utilisé pour envoyer des informations d'authentification des utilisateurs et la réception de la réponse.

La plupart des sites web, puis continuer à communiquer sur HTTP de base, dont "seulement" expose leurs utilisateurs sur les risques de détournement de session (man-in-the-middle lit leur identifiant de session/signature/nonce/whatever, puis fait semblant d'être le client authentifié, par conséquent, s'il réussit, il peut manipuler du client à des ressources protégées, mais cette méthode ne permet pas de "voler l'intégralité du compte"). Cela est généralement considéré comme une menace mineure et en raison de frais généraux associés à la communication SSL, connexion sécurisée pour toutes les demandes est utilisé uniquement dans des applications critiques (services bancaires en ligne, par exemple).

Enfin, pour répondre à votre question: Non, seuls les transferts lorsque des données sont envoyées doivent être nécessairement garanti.

3voto

Alfred Points 32190

Si vous voulez que vos données soient en sécurité, vous devez utiliser SSL (certifié) sur tout votre site. Mais vous n'avez pas besoin de SSL pour protéger vos mots de passe. Vous pouvez par exemple utiliser OpenID, Facebook Connect, Twitter pour vous connecter à cette partie. De cette façon, les mots de passe ne sont jamais envoyés en texte brut.

1voto

Paul Sasik Points 37766

Vous avez l'option pour la refonte de l'INTERFACE utilisateur de concept? L'idée: Avoir des information de connexion de l'INTERFACE utilisateur sur chaque page, mais pas la connexion de contrôle. Votre nouvelle info le contrôle de liste:

  1. Logged In As <user_name> ou Not Logged In
  2. Login ou Logout lien en fonction de l'état

Les liens d'une connexion pop up page dont le contenu est entièrement sécurisé.

Cette approche serait que vous obtenez près de ce que vous avez déjà (certains la fonctionnalité de login sur chaque page), mais de routage/superposées de manière à ce que votre authentification est totalement sécurisée via le protocole SSL.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X