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? P>
Je veux dire, p>
est-ce correct? P>
4 Réponses :
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. P>
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. P>
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é. P>
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.
Tadaa !! :) p>
Ajouter un peu plus ... P>
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. P>
Lorsque l'utilisateur clique sur la page de déconnexion, procédez comme invalider la session ... c'est tout. :) p>
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.
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. P>
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é. P>
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.
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. p>
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.