Modified Files:
inc-public.php3 spip_cookie.php3
Log Message:
- système de sessions réécrit avec un fichier par session.
- suppression de cookie qui marche sous mozilla (rawurlencode).
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Euh, coucou, deux bugs dans tes modifs :
1) les visiteurs ne sont plus "authentifies" sur le site public.
2) le fichier de session contient un champ "brouteur" vide...
1) les visiteurs ne sont plus "authentifies" sur le site public.
Heu, tu veux dire les auteurs (sinon je m'y perds) ?
Si, si, ils le sont toujours, mais le nom des variables a changé
Ca se discute of course, mais $auteur_session me paraît plus clair
que $visiteur. Aussi, c'est un tableau plutôt qu'un objet bizarre,
c'est plus cohérent avec le reste (édite un fichier session pour
la syntaxe précise, ça ira plus vite).
>1) les visiteurs ne sont plus "authentifies" sur le site public.
Heu, tu veux dire les auteurs (sinon je m'y perds) ?
L'idée que j'avais implémentée était à deux niveaux :
1) si tu as le cookie spip_session, on crée un $auteur_session disponible
au moment où le cache est exécuté. Ca ca reste.
2) si tu as un cookie spip_admin mais pas spip_session (tu as quitté ton
navigateur, puis tu reviens sur le site), on créait aussi un objet
visiteur (ou auteur_session) mais en ne garantissant pas qu'il était
authentifié. Ca permet notamment de préremplir le champ 'login' du
formulaire de login, et les champs de formulaires de forum. Ca ca
a disparu, comme le flag "authentifie" ajoute sur le cas 1).
Si, si, ils le sont toujours, mais le nom des variables a changé
Ca se discute of course, mais $auteur_session me paraît plus clair
que $visiteur. Aussi, c'est un tableau plutôt qu'un objet bizarre,
c'est plus cohérent avec le reste (édite un fichier session pour
la syntaxe précise, ça ira plus vite).
Oui, j'ai vu. J'aime bien les objets, mais ça m'est égal.
2) si tu as un cookie spip_admin mais pas spip_session (tu as quitté ton
navigateur, puis tu reviens sur le site), on créait aussi un objet
Heu, quand on quitte son navigateur, on est toujours identifié dorénavant
(c'est un peu l'intérêt du cookie, aussi, quoi.... ;-)).
Ca permet notamment de préremplir le champ 'login' du
formulaire de login, et les champs de formulaires de forum. Ca ca
a disparu, comme le flag "authentifie" ajoute sur le cas 1).
Je me demandais effectivement à quoi servait ce machin à double détente.
Est-ce que ça aurait encore une utilité, maintenant ? (parce que ça
complique un peu).
Heu, quand on quitte son navigateur, on est toujours identifié dorénavant
(c'est un peu l'intérêt du cookie, aussi, quoi.... ;-)).
Tu prends le risque de te faire pirater si tu as oublié de te déloguer. Du
coup il faut que le bouton "déconnecter" soit sur toutes les pages d'ecrire/
et sur le bouton d'admin.
> Ca permet notamment de préremplir le champ 'login' du
> formulaire de login, et les champs de formulaires de forum. Ca ca
> a disparu, comme le flag "authentifie" ajoute sur le cas 1).
Je me demandais effectivement à quoi servait ce machin à double détente.
Est-ce que ça aurait encore une utilité, maintenant ? (parce que ça
complique un peu).
Je suis souvent en visite sur mon site, sans m'être connecté au préalable.
Mais les boutons d'admin me permettent d'entrer directement dans ecrire/, et
là je m'identifie. Si je peux garder cette facilité, je préfère. Sinon je
ferai avec des bookmarks, comme tout le monde.
Tu prends le risque de te faire pirater si tu as oublié de te déloguer. Du
coup il faut que le bouton "déconnecter" soit sur toutes les pages d'ecrire/
et sur le bouton d'admin.
Hem, il faudrait préciser un peu les risques de "piratage". A part se faire
sniffer le cookie, je ne vois pas trop.
Je suis souvent en visite sur mon site, sans m'être connecté au préalable.
Mais les boutons d'admin me permettent d'entrer directement dans ecrire/, et
??? Je comprends pas. Le lien "admin" ne te suffit pas ? Et puis, taper
ecrire/ n'est pas très fatigant....
??? Je comprends pas. Le lien "admin" ne te suffit pas ? Et puis, taper
ecrire/ n'est pas très fatigant....
Si, c'est très fatigant.
En fait la situation actuelle me va. Seul détail, on pourrait mettre le
login (juste le login) dans le cookie admin, histoire de renseigner d'entrée
de jeu ce champ-là dans login.php3
En fait la situation actuelle me va. Seul détail, on pourrait mettre le
login (juste le login) dans le cookie admin, histoire de renseigner d'entrée
de jeu ce champ-là dans login.php3
A ce moment-là, il faut un autre cookie, vu que le cookie d'admin est juste
pour les admins (ou alors on considère qu'il n'y a qu'eux qui y ont droit ;-)).
En fait la situation actuelle me va. Seul détail, on pourrait mettre le
login (juste le login) dans le cookie admin, histoire de renseigner d'entrée
de jeu ce champ-là dans login.php3
J'ai compris : on reste dans la situation où il faut se connecter (login +
mot de passe) puis cliquer sur 'cookie d'admin', comme avant. Alors qu'on
pourrait avoir un truc unique : ton login est déjà là, tu mets le mot de
passe et hop tout est installé. Mais ça impliquerait en fait de quasiment
obliger les admins (ou les admins+redacteurs) à avoir les boutons par
défaut. C'est ça qui gêne ? (Moi ça me va plutôt).
Mais ça impliquerait en fait de quasiment
obliger les admins (ou les admins+redacteurs) à avoir les boutons par
défaut.
C'est déjà le cas (en fait j'ai repris ton bout de code) :
if (($HTTP_COOKIE_VARS['spip_admin'] == 'admin' OR ($auteur_session['statut'] == '0minirezo')) AND !$flag_preserver) {
C'est comme on veut, par défaut ou pas. Moi ça m'est égal.
Ou alors la logique pourrait être inversée : poser un cookie_admin
par défaut lors du login (si 0minirezo), et donner la possibilité
de le virer dans l'espace privé.
A ce moment-là, il faut un autre cookie, vu que le cookie d'admin est juste
pour les admins (ou alors on considère qu'il n'y a qu'eux qui y ont droit
Tu m'embrouilles... les rédacteurs n'ont pas besoin d'avoir leur login
pré-entré. Les admins oui. C'est toi qui as viré les infos que j'avais mises
en clair dans le cookie de session.
Ou alors la logique pourrait être inversée : poser un cookie_admin
par défaut lors du login (si 0minirezo), et donner la possibilité
de le virer dans l'espace privé.