Ceci est une question d'entrevue posée il y a un mois ... p>
La session utilise-t-elle des cookies? Si oui, comment le font-ils? P>
suppose session ["userid"] = 1 code> Comment cette variable de session utilise-t-elle des cookies en interne? Si oui, quel sera le nom du cookie et quelle est la valeur de ce cookie .... p>
5 Réponses :
Non, stocké sur le serveur quelque part dans le dossier TMP. Les sessions sont Serveride, les cookies sont du côté du client. P>
Les cookies sont la méthode par défaut consistant à attacher une carte de session d'un utilisateur aux données de session sur le serveur.
En sessions PHP sont stockées sur le serveur. Je ne me suis pas réalisé que c'était ASP. ma faute.
Vous avez raison de dire que la variable réelle est stockée sur le serveur (bien que vous puissiez fournir un fournisseur d'état de session différent), mais comme le souligne Michael Shimmins, le jeton de session est stocké dans un cookie par défaut.
Ceci serait sucer, si c'est dans un cookie, ne pouvez-vous pas manipuler le cookie?
En théorie Oui, vous pouvez changer votre jeton de session pour être autre chose, et si vous devinez correctement un autre jeton de session, vous pouvez détourner la session de cette personne. Mais si vos jetons de session sont générés de manière assez au hasard, changez votre jeton vers un jeton aléatoire, votre session ne sera que de récupérer correctement la prochaine demande du serveur.
C'est une énorme idée fausse que je vois parmi de nombreux développeurs PHP (de mes collègues). Un identifiant de session PHP est tout aussi bien stocké dans un cookie du côté du client. Comment savoir (à l'exclusion des méthodes de jeton d'URL moins sécurisées) PHP pourra identifier l'ID de session? Pensez-y.
tandis que les données sont stockées sur le serveur (ou en SQL si configurées de cette façon), il doit être un moyen d'associer des données de session avec des utilisateurs spécifiques. P>
Par défaut, ceci est effectué avec un cookie, mais vous pouvez configurer la cookieSess auquel cas l'identifiant unique est stocké dans l'URL. P>
de Microsoft: P>
ASP maintient l'état de la session en fournissant au client une clé unique attribuée à l'utilisateur lorsque la session commence. Cette clé est stockée dans un cookie HTTP que le client envoie au serveur sur chaque demande. Le serveur peut ensuite lire la clé de la cookie et réinfacer l'état de la session du serveur. P> blockQuote>
L'article mentionne presque tous les détails. L'ID de session doit être transmis entre le navigateur et le serveur, de sorte que IIS / ASP.NET peut savoir quel objet de session doit être utilisé pour une certaine demande.
Vérifiez Ce
Chaque session aura SESSIONID. Et ID de session est un numéro unique, Server attribue à un utilisateur spécifique, lors de sa visite (session). Et par défaut, la session ID est jointe à un cookie et ce cookie sera partagé du client au serveur (et au client au client) lors de ses demandes / réponses. Et Server identifiera la session basée sur l'ID de session extrait du cookie. P>
et en ce qui concerne la cookieLess, si votre navigateur ne prend pas en charge le cookie ou les personnes handicapées, la cookieless sera utilisée. Comme il s'agit de Cookieless, ASP.NET ne peut pas créer de cookie pour enregistrer une carte d'identité de session. Au lieu de cela, l'ID de session sera transmis dans une chaîne de requête ... p>
Oui, par défaut Session ASP.NET Utilisez des cookies. Comme vous l'avez dit, ceci est une question d'entrevue asp.net fréquente, vous pouvez Vérifier cette vidéo Comment répondre à la même chose et à d'autres questions croisées posées autour de ce sujet. Mais maintenant pour la longue réponse. P>
de sorte que cela fonctionne. La première chose à noter est que les données réelles sont stockées en session. Le client a le cookie qui stocke la sessionId.sessidid est comme un ID de joindre pour ce client Quelles sont les données correspondantes stockées dans la session. P>
Lorsque le client fait un appel, il envoie le cookie (SessionID) et en utilisant cette sessionID, l'état est restauré à partir des variables de session. P>
Oui, la gestion de la session est effectuée à l'aide d'une sorte d'identifiant de session I.E. Cookies. Cookies maintenues dans le navigateur aide à identifier les utilisateurs. P>
Si vous accédez à une application à partir de deux navigateurs de même machine, deux cookies seront maintenus où chaque navigateur est un utilisateur séparé pour l'application Backend ASP.NET P>