12
votes

Que se passe-t-il si les cookies sont handicapés?

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 ( _ session _ session ) et les cookies client ( $ _ cookie , setcookie ) 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?

Aussi, auquel cas quelqu'un voudrait-il avoir des cookies handicapés?

merci!


0 commentaires

3 Réponses :


2
votes

Vous pouvez suivre l'utilisateur par $ _ obtenir .

Imaginez que sur chaque page, l'utilisateur visit vous passez un ? user_id = xyz123 alors vous auriez implémenté une identification de serveur très similaire. Il présente des inconvénients évidents:

  1. Si vous copiez / coller une URL, vous donnerez votre session_id
  2. à cause de 1 session haute prise est encore moins tech savy

    pourquoi les utilisateurs désactivent les cookies?

    Les utilisateurs ont tendance à lancer des cookies des premier et des tiers dans le mélange, mais ils viennent de différentes races.

    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.

    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 ...


0 commentaires

15
votes

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.

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.

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.


7 commentaires

+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é . 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" et "entièrement" . Si vous les permettez au besoin, ce n'est pas vraiment "entièrement handicapé" ... :)


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



1
votes

Je pense que vous devriez lire le manuel de référence de la session http: //www.php .NET / manuel / fr / session.idpassing.php

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.


0 commentaires