8
votes

Comment fonctionne la connexion?

Eh bien, vous tapez le nom d'utilisateur et le mot de passe sous forme de mot de passe, appuyez sur le bouton "OK". Ensuite, les données vont au serveur et vérifiez la base de données des utilisateurs si cet utilisateur existe. Ensuite, il renvoie l'ID utilisateur. Et quoi ensuite? Que les données sont enregistrées dans des cookies? Cela signifie-t-il que, avec chaque lien cliqué, le site vous connecte à nouveau sur le site Web?

Je veux dire,

  1. Vous cliquez sur un lien sur le site
  2. Navigateur vous redirige vers cette page
  3. Le site vérifie vos cookies
  4. Site Grab Nom d'utilisateur et mot de passe de Cookies
  5. Les chèques de site sont que les données sont valides (via la connexion à la base de données)
  6. Afficher la page à vous

    est-ce correct?


1 commentaires

Toutes toutes les pages Web et / ou Web-serveur ne fonctionnent pas de la même manière, il est donc impossible de répondre à votre question sans savoir quel site vous parlez.


4 Réponses :


0
votes

Vous devriez probablement utiliser des sessions, mais c'est à peu près le gist. De cette façon, les données ne persistent pas accidentellement.

Je veux dire, pour mon site simple à la maison, c'est comme ça que je le fais. Mais il est toujours hébergé localement, de sorte que la sécurité soit garantie de la merde.

Oh, et pas besoin de vérifier avec la base de données chaque fois que vous cliquez sur un autre lien - Trop de temps gaspillé.


2 commentaires

Pourquoi les sessions mais pas les cookies? Les cookies ont une date d'expiration et ne sont pas supprimés chaque fois que vous fermez le navigateur


Les cookies peuvent être spoofés. Ce problème peut être surmonté, mais cela nécessite plus de travail.



9
votes
  1. L'utilisateur entre les informations d'identification.
  2. System valide les informations d'identification.
  3. lors de l'authentification réussie, Server enregistre l'objet utilisateur dans la session.
  4. système saisit les informations utilisateur de la session.
  5. System affiche la page Web.

    Tadaa !! :)

    mise à jour

    Ajouter un peu plus ...

    1. L'utilisateur visite la page Web sécurisée.
    2. vérifie le système si la session contient un objet utilisateur.
    3. Si l'objet utilisateur existe en session, permettez à l'utilisateur de visiter la page.
    4. Si l'objet utilisateur n'existe pas, rediriger l'utilisateur à la page de connexion.

      Vous n'avez pas besoin de stocker le mot de passe de l'utilisateur dans la session. En fait, il est très découragé. Vérifiez que l'objet utilisateur existe dans la session est suffisant.

      Lorsque l'utilisateur clique sur la page de déconnexion, procédez comme invalider la session ... c'est tout. :)


2 commentaires

Que dois-je stocker exactement en session?


La session doit contenir l'objet utilisateur (nom d'utilisateur, premier nom de mât Namel, toutes les informations pertinentes dont vous avez besoin). De cette façon, lorsque vous devez personnaliser votre site Web, vous pouvez afficher "Hello Mike", en tirant le prénom de la session. Mettre les informations utilisateur dans la session Le plus simple, vous n'avez pas besoin de vous inquiéter de l'utilisateur désactivant les cookies. En outre, si vous utilisez une session, lorsque l'utilisateur ferme le navigateur, il tue automatiquement la session alors que si vous utilisez des cookies, vous devez probablement effectuer des contrôles supplémentaires.



4
votes

presque correct. Vous allez rarement à la base de données avec chaque demande. Vous définissez généralement un cookie avec une date d'expiration et enregistrez la session utilisateur et informations en mémoire. Donc, chaque fois qu'une demande est faite, si l'utilisateur n'est pas authentifié, vous l'authentifiez, générez-le et envoyez-lui un cookie avec, disons, expiration de 5h. Donc, dans les 5 prochaines heures, chaque fois qu'une demande se trouve avec ce cookie, vous avez confiance que l'utilisateur est un utilisateur authentifié et valide et vous n'avez pas à consulter la base de données.

Ce n'est pas la façon dont chaque site le fait ni c'est le seul moyen de gérer la session et les cookies, mais je pense que c'est le plus largement utilisé.


2 commentaires

Mais qu'est-ce que je devrais stocker exactement dans des cookies? Nom d'utilisateur et mot de passe de déchiffrement? Mais comment puis-je faire confiance à ces données, sans vérifier la base de données des utilisateurs?


Pourquoi auriez-vous besoin de son mot de passe entre les demandes? Vous ne devez stocker que les informations dont vous avez besoin sur l'utilisateur pour afficher les pages. Habituellement, c'est un nom d'utilisateur, ID utilisateur, certaines informations de profil, etc. Sauf si vous utilisez la communication SSL, vous ne pouvez jamais faire confiance à 100% que les données sont correctes. Quelqu'un peut "renifler" la connexion et voler le cookie de l'utilisateur (connu sous le nom de détournement de la session). Si cela vous fait sentir plus sûr, même Facebook voyagez des biscuits non cryptés.



0
votes

Typiquement, une application tire parti de la session établie entre le navigateur et le serveur Web et annule que cette session est "authentifiée". "Session" est une caractéristique intégrée de HTTP. Si le navigateur est fermé, ou après une certaine période passée, la session est automatiquement fermée. Si l'utilisateur effectue une déconnexion explicite, l'application marque la session comme non authentifiée.


0 commentaires