question assez basique ici. En PHP, si le navigateur de l'utilisateur a des cookies désactivés, vous ne pouvez pas utiliser les deux cookies de serveur ( Aussi, auquel cas quelqu'un voudrait-il avoir des cookies handicapés? P>
merci! p> _ session _ session code>) et les cookies client (
$ _ cookie code>,
setcookie code>) ou seulement ces derniers sont désactivés?
Fondamentalement, vous ne pouvez pas faire connecter l'utilisateur ou faire quelque chose qui nécessite une session, non? P>
3 Réponses :
Vous pouvez suivre l'utilisateur par Imaginez que sur chaque page, l'utilisateur visit vous passez un Les cookies de première partie sont généralement corrects. Lorsque vous visitez Facebook, il est prévu que Facebook garde un cookie pour stocker vos interactions avec le serveur. P>
Ce qu'on on n'aurait pas été attendu, c'est que la compagnie de publicité qui a ajoute à la fois sur Facebook et sur eBay obtient votre cookie, ah, donc ce gars était sur eBay à la recherche de xyz alors qu'il est maintenant sur Facebook, je vais montrer le faire abc pour le faire acheter, etc ... p> $ _ obtenir code>. p>
? user_id = xyz123 code> alors vous auriez implémenté une identification de serveur très similaire. Il présente des inconvénients évidents: P>
Les utilisateurs ont tendance à lancer des cookies des premier et des tiers dans le mélange, mais ils viennent de différentes races. P>
Oui, c'est vrai. Les sessions et les biscuits normaux sont des biscuits normaux. Si un utilisateur n'accepte pas les cookies, il ne peut utiliser aucune des fonctionnalités activées par elles. Ce qui signifie à peu près à l'ensemble de l'internet pour cet utilisateur, c'est pourquoi, ce jour-là, il n'y a pratiquement personne qui a des cookies handicapés entièrement. P>
php a un mécanisme intégré appelé ID de session transparente , qui réécrit automatiquement tous les liens contenir l'ID de session dans un paramètre de requête. Je ne suggérez pas de l'utiliser, car les identifiants de session de l'URL ouvrent une nouvelle boîte de vers de vers. P>
Pour la convivialité de l'utilisateur, je vous recommanderais de tester si l'utilisateur a des cookies activé ou non (définissez un cookie, rediriger vers la page suivante avec un drapeau de l'URL que les cookies doivent être définis, Voyez si vous récupérez des cookies) et si non, veuillez informer l'utilisateur de les activer. P>
+1 pour cette réponse. Pensée aléatoire. Pensez-vous que la trans-sid peut-être acceptable combinée avec SSL? (Étant donné que les paramètres de requête sont SSL'ed)?
@Ben Le problème n'est pas vraiment le manque de SSL, c'est que l'utilisateur ne comprendra pas que l'URL contient une session et envoie une URL contenant le trans-sid à un ami. En cliquant sur le lien, vous connectera l'ami en tant qu'utilisateur.
@Ben Non. Le problème ne concerne pas visibilité i>. Un cookie est tout aussi visible qu'une URL, si quelqu'un est en mesure d'intercepter non plus. Le problème concerne le partage des URL, les avoir dans l'histoire du navigateur, etc.
@tous les deux. Oui, très bon point, j'ai totalement négligé cet aspect
J'ai des cookies handicapés entièrement. Je leur conduis sur un site par site. Ce n'est pas si mal.
@Boann c'est pourquoi je me suis révélé que soigneusement dire "virtuellement" i> et "entièrement" i>. Si vous les permettez au besoin, ce n'est pas vraiment "entièrement handicapé" i> ... :)
Très bonne réponse! et oui, conseiller à l'utilisateur de leur activer est la méthode que Facebook, Twitter et de nombreux autres services importants utilisent, donc je vais y rester
Je pense que vous devriez lire le manuel de référence de la session http: //www.php .NET / manuel / fr / session.idpassing.php p>
En bref, si votre serveur ne trouve pas de session_id, il ne peut pas restaurer la session. Mais vous pouvez utiliser d'autres façons de stocker des valeurs de session. Ou vous pouvez générer une base de session_od sur les paramètres de l'environnement client de l'utilisateur. P>