231 votes

Cookie VS Session

J'ai commencé à l'aide de php depuis quelques mois, au début, j'ai lu à propos de cookie et j'ai commencé à écrire les instructions pour stocker le nom d'utilisateur du membre une fois qu'il se connecte à l'intérieur d'un cookie, d'après ce que j'ai lu sur les sessions, que le temps, j'ai préféré les cookies (et qui n'aime pas les cookies), j'ai lu que les cookies sont stockés dans le navigateur de l'utilisateur, de sorte que je l'ai dit, on s'en fout, je n'ai pas une bonne affaire avec le ranger dans mon serveur (à l'époque), donc, j'ai utilisé des cookies pour mon projet de diplôme, mais après doin' la grande partie de mon application, j'ai entendu parler de cette session sont plus appropriés pour le stockage de l'Identifiant utilisateur (quel que soit ses raisons), j'ai donc commencé à réfléchir à ce que je vais dire si le jury me demande pourquoi u utiliser le cookie? J'ai juste cette raison que je n'ai pas besoin de stocker des informations sur le membre, est-ce suffisant comme une raison ou vous pouvez m'en dire plus sur les avantages de l'utilisation de cookies pour garder les membres du UserID?

Merci pour vous tous dans stackoverflow!

276voto

Fosco Points 20573

Le concept est de stocker des données persistantes sur la page des charges pour un site web visiteurs. Les Cookies stockent directement sur le client. Les séances de l'utilisation d'un témoin clé de toutes sortes, à associer avec les données qui sont stockées sur le côté serveur.

Il est préférable d'utiliser les sessions, parce que les valeurs réelles sont cachés par le client, et vous pouvez contrôler le moment de l'expiration des données et devient non valide. Si elle était basée sur les cookies, l'utilisateur (ou un pirate) pourrait manipuler leurs données de cookie et puis jouer les demandes de votre site.

Edit: je ne pense pas qu'il n'y a aucun avantage à utiliser des cookies, des autres que de la simplicité. Regardons cela de cette façon... ce que l'utilisateur a aucune raison de connaître leur numéro d'identification de l'? En général, je dirais que non, l'utilisateur n'a pas besoin de cette information. Donner de l'information devrait être limitée à un besoin de savoir. Que faire si l'utilisateur change son cookie pour avoir un ID différent, comment votre application répondre? C'est un risque pour la sécurité.

Avant les sessions étaient à la mode, en gros, j'ai eu ma propre mise en œuvre. Je stockées un unique valeur du cookie sur le client, et de stocker mes données persistantes dans la base de données avec le cookie en valeur. Ensuite sur la page des demandes je les ai trouvé ces valeurs et a mes données persistantes sans laisser le client le contrôle de ce que c'était.

50voto

Zalaboza Points 1279
SESSIONS ENDS WHEN USER CLOSE HIS BROWSER,

COOKIES ENDS DEPENDING ON THE LIFE TIME YOU SET FOR IT. SO IT CAN LAST FOR YEARS

C'est la principale diff. dans votre choix,

Si vous voulez de l'udi pour les mémoires pour longtemps, alors u besoin d'utiliser des cookies, sinon si tu veux juste le site web de reconnaître l'utilisateur lors de cette visite alors seulement sessions est votre homme.

espérons que cela aide :)

22voto

Makan Tayebi Points 69

lorsque vous enregistrez le #ID que le cookie afin de reconnaître les utilisateurs connectés, vous êtes réellement en montrant des données pour les utilisateurs qui ne sont pas liés à eux. En outre, si un tiers tente de définir aléatoire Id comme des données contenues dans les cookies dans son navigateur, ils seront en mesure de convaincre le serveur qu'ils sont d'un utilisateur alors qu'elles ne le sont pas. C'est un manque de sécurité.

Vous avez utilisé des cookies, et comme vous l'avez dit, vous avez déjà réalisé la plupart de ce projet. en plus de biscuit a le privilège de rester pour une longue période, tandis que les sessions de fin plus rapidement. Si les sessions sont ne sont pas approprié dans ce cas. En réalité, beaucoup de célèbres et populaires de sites web et de services utilisent des cookies et que vous pouvez rester connecté pendant une longue période. Mais comment pouvez-vous utiliser leur méthode pour créer un environnement plus sécuritaire processus d'ouverture de session?

voici l'idée: vous pouvez vous aider de la façon dont vous utiliser des cookies: Si vous utilisez des clés aléatoires au lieu de l'Id de reconnaître les utilisateurs connectés, tout d'abord, vous n'avez pas de fuite de vos données primaires aléatoire des utilisateurs, et, deuxièmement, Si vous considérez la clé Aléatoire assez grand, Il sera plus difficile pour quiconque de deviner une clé ou d'en créer un au hasard. par exemple, vous pouvez économiser 40 longueur de la clé, comme ce dans le navigateur de l'Utilisateur: "KUYTYRFU7987gJHFJ543JHBJHCF5645Uytuyjh54657jguthfn" et il sera moins probable pour quiconque de créer la clé exacte et faire semblant d'être quelqu'un d'autre.

15voto

DOK Points 21175

En fait, de session et les cookies ne sont pas toujours la part des choses. Souvent, mais pas toujours, de la session utilise des cookies.

Il y a quelques bonnes réponses à votre question dans ces autres questions ici. Étant donné que votre question est plus précisément sur l'enregistrement de l'utilisateur de l'UDI (ou ID), je ne pense pas que c'est tout à fait un double de ceux d'autres questions, mais leurs réponses devraient vous aider.

les cookies vs session

Cache VS Session VS cookies?

Quelle est la différence entre une Séance et un Cookie?

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