Comment faire pour désactiver PHP cookie de session?
Je suis en train d'écrire du code PHP où je veux passer l'id de session de moi-même à l'aide de POST. Je ne veux pas d'un cookie pour stocker la session, comme il se doit de se perdre lorsque l'utilisateur sort de la POST-cycle.
PHP définit automatiquement les cookies lorsqu'ils sont disponibles. J'ai appris qu'il est possible de modifier ce comportement en définissant session.use_cookies
à 0 dans php.ini
. Malheureusement, je n'ai pas accès à ce fichier et je n'ai pas envie de casser le comportement des autres scripts en cours d'exécution sur le même serveur.
Est-il un moyen de désactiver ou annuler le cookie de session à l'intérieur du script PHP?
EDIT: Que les solutions proposées ne fonctionnent pas pour moi, j'ai utilisé $_SESSION = array() à la position dans le code où j'ai trouvé la séance doit être invalidé.
Vous devez vous connecter pour publier un commentaire.
tre son possible pour remplacer les paramètres par défaut de votre hôte en créant votre propre .fichier htaccess et voici un excellent tutoriel si vous n'avez pas encore touché
http://www.askapache.com/htaccess/apache-htaccess.html
ou si vous êtes trop paresseux pour apprendre
il suffit de créer une ".htaccess" fichier (oui, c'est le nom de fichier) sur votre annuaire de sites et placez le code suivant
Utilisation la fonction ini_set():
Ou dans votre php.fichier ini:
Vous pouvez également mettre ce paramètre .htaccess de sorte qu'il s'applique à tous les scripts, sinon vous devez vous assurer que le code est appelé à chaque demande.
Par exemple.
php_value session.use_cookies 0
Si vous avez juste besoin d'être en mesure de zapper une séance à un moment donné, l'utilisation session_destroy(). Si vous voulez complètement la fin de la session, voici un extrait de code à copier/coller tout droit sorti de la documentation:
J'ai eu du mal avec le PHP approche documentée de la destruction d'une session w/cookies.
C'était résultant dans mon voyant le cookie défini deux fois:
Comme indiqué dans le PHP commentaires, réglage de la valeur du cookie à quelque chose d'autre que le vide (") de se débarrasser de la "supprimé" de la valeur, mais le deuxième cookie ensemble est resté.
De se débarrasser de cela, j'ai dû ajouter le code proposé ci-dessus:
Je n'ai pas regardé à la source pour des séances de manipulation, mais ma conjecture est que la fonction setcookie(...) est en contournant les séances de module, de sorte que les sessions ne sais pas je l'ai appelé. Donc, c'est l'établissement d'un cookie par défaut, après j'ai mis en place un cookie supprimé.
J'ai été le tester sur un mac: PHP 5.3.6 avec Suhosin-Patch (cli) (intégrée: 8 Sep 2011 19:34:00)
La façon de le faire est de mettre en place des sessions de vous-même.
Dans le centre d'inclure le fichier que tous vos autres fichiers, y compris (vous en avez un de ceux qui, à droite?), vous avez besoin de faire quelques petites choses dès que possible.
Maintenant, vous devez vous rappeler que dès que vous commencez à la forme, vous devez inclure: