Deux réflexions ce matin :
1) Pour les accents, au lieu de donner leur code ascii en numérique (via
chr(212)), on peut en fait les donner en hexa (plus "lisible", surtout
si on est habitué au Quoted-Printable) :
au lieu de
<?php echo "J'ai bien mang".chr(212); ?>
on peut préférer
<?php echo "J'ai bien mang\xe9"; ?>
2) Pour l'histoire des zap_sessions, je vais proposer un changement qui à
mon avis répondra aux attentes des trois développeurs. Je vais essayer
d'expliquer la démarche, pour avoir vos commentaires, mais je coderai
plus tard.
- d'abord, se débarrasser du truc d'environnement basé sur le
navigateur : c'est idiot, si quelqu'un me chourave mon cookie,
il peut tout aussi bien me chouraver ma chaîne navigateur.
- remplacer ce truc par un cookie "environnement" (spip_browser)
aléatoire posé une fois pour toutes (un an) sur le brouteur. C'est
un identifiant unique du brouteur. Au moment où on le pose, on vérifie
du même coup que le navigateur accepte les cookies (sinon on passe
en auth_http).
- au moment du zap_session (login réussi ou affichage des infos
sécurités), zapper systématiquement et silencieusement les (autres)
sessions ayant le même cookie spip_browser (par définition, ce sont
soit des sessions qui traînent suite à l'oubli de se déloguer DEPUIS LE
MEME NAVIGATEUR, soit le produit d'un vol de cookie). Ainsi la sécurité
contre vol de cookie est assurée.
- Du coup l'explication pour les zap_session est plus simple : "Un autre
navigateur est actuellement autorisé à se connecter sans renouveller son
identification [aide] [bloquer cette connexion] [ne jamais accepter de
connexions parallèles]" (mettre au pluriel et préciser le nombre de
zap_sessions si besoin).
Le bouton "[ne jamais accepter de connexions parallèles]" correspondra à
un réglage auteur (via $prefs[]) et sera annulable dans "afficher les
infos de sécurité" (pas au login, du coup, mais avec le bouton sous la
fiche auteur)
Enfin, ce bouton "afficher les infos de sécu" pourrait se trouver au
niveau de auteur_infos plutôt que sur la page d'accueil.
-- Fil