Accès /ecrire et .htaccess d'authentification
#2294
Closed
opened 12 years ago by magegahell
·
6 comments
No Branch/Tag Specified
1.8
1.9.1
1.9.2
2.0
2.1
3.0
3.1
3.2
4.0
4.1
4.2
boutons-danger
coquille_doc
debug_ecrire_fichier
dev-sortable
dev/autoloader
dev/hasard_fixe
dev/instituer_ergo
dev/issue_4626_menu_squelettes
dev/issue_5447_exporter_csv
dev_infos_image
fix/valider_url_distante
fix_issue_5454
fix_modifier_login
issue_4101
issue_4678
issue_4705
issue_4717
issue_4836
issue_4946
issue_5258
issue_5344
issue_5427_bis
issue_5483_find_script_jquery
issue_5487_info_maj
master
v1.8.3+b
v1.9.1+i
v1.9.2+f
v1.9.2+g
v1.9.2+h
v1.9.2+i
v1.9.2+j
v1.9.2+k
v1.9.2+m
v1.9.2+n
v1.9.2+o
v1.9.2+p
v2.0.0
v2.0.1
v2.0.10
v2.0.11
v2.0.12
v2.0.13
v2.0.14
v2.0.15
v2.0.16
v2.0.17
v2.0.18
v2.0.19
v2.0.2
v2.0.20
v2.0.21
v2.0.22
v2.0.23
v2.0.24
v2.0.25
v2.0.26
v2.0.3
v2.0.5
v2.0.6
v2.0.7
v2.0.8
v2.0.9
v2.1.0
v2.1.1
v2.1.10
v2.1.11
v2.1.12
v2.1.13
v2.1.14
v2.1.15
v2.1.16
v2.1.17
v2.1.18
v2.1.19
v2.1.2
v2.1.20
v2.1.21
v2.1.22
v2.1.23
v2.1.24
v2.1.25
v2.1.26
v2.1.27
v2.1.28
v2.1.29
v2.1.3
v2.1.30
v2.1.4
v2.1.5
v2.1.6
v2.1.7
v2.1.8
v2.1.9
v3.0.0
v3.0.0-alpha.1
v3.0.0-beta
v3.0.0-beta.2
v3.0.0-rc
v3.0.1
v3.0.10
v3.0.11
v3.0.12
v3.0.13
v3.0.14
v3.0.15
v3.0.16
v3.0.17
v3.0.18
v3.0.19
v3.0.2
v3.0.20
v3.0.21
v3.0.22
v3.0.23
v3.0.24
v3.0.25
v3.0.26
v3.0.27
v3.0.28
v3.0.3
v3.0.4
v3.0.5
v3.0.6
v3.0.7
v3.0.8
v3.0.9
v3.1.0
v3.1.0-alpha
v3.1.0-beta
v3.1.0-rc
v3.1.0-rc.2
v3.1.0-rc.3
v3.1.1
v3.1.10
v3.1.11
v3.1.12
v3.1.13
v3.1.14
v3.1.15
v3.1.2
v3.1.3
v3.1.4
v3.1.5
v3.1.6
v3.1.7
v3.1.8
v3.1.9
v3.2-alpha.1
v3.2.0
v3.2.0-alpha.1
v3.2.0-beta
v3.2.0-beta.2
v3.2.0-beta.3
v3.2.1
v3.2.10
v3.2.11
v3.2.12
v3.2.13
v3.2.14
v3.2.15
v3.2.16
v3.2.17
v3.2.2
v3.2.3
v3.2.4
v3.2.5
v3.2.6
v3.2.7
v3.2.8
v3.2.9
v4.0.0
v4.0.0-alpha
v4.0.0-beta
v4.0.1
v4.0.2
v4.0.3
v4.0.4
v4.0.5
v4.0.6
v4.0.7
v4.0.8
v4.0.9
v4.1.0
v4.1.0-alpha
v4.1.0-beta
v4.1.0-rc
v4.1.1
v4.1.2
v4.1.3
v4.1.4
v4.1.5
v4.1.6
v4.1.7
v4.2.0-alpha
v4.2.0-alpha2
Labels
Amélioration, nouvelle fonctionnalité APIs authentification base de données bug
Ca ne fonctionne pas code généré compilo css divers documentation doublon
Ce ticket est un doublon ergonomie espace privé filtres et balises formulaires Inscription installation invalide
Ticket invalide javascript langues LDAP plugin PostgreSQL refusé
Ignoré, c'est comme Ca... sécurité traduction
Apply labels
Clear labels
accessibilité
amélioration
Amélioration, nouvelle fonctionnalité APIs authentification base de données bug
Ca ne fonctionne pas code généré compilo css divers documentation doublon
Ce ticket est un doublon ergonomie espace privé filtres et balises formulaires Inscription installation invalide
Ticket invalide javascript langues LDAP plugin PostgreSQL refusé
Ignoré, c'est comme Ca... sécurité traduction
No Label
accessibilité
amélioration
APIs
authentification
base de données
bug
code généré
compilo
css
divers
documentation
doublon
ergonomie
espace privé
filtres et balises
formulaires
Inscription
installation
invalide
javascript
langues
LDAP
plugin
PostgreSQL
refusé
sécurité
traduction
Milestone
Set milestone
Clear milestone
No items
No Milestone
Projects
Clear projects
No project
Assignees
Assign users
Clear assignees
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.
No due date set.
Dependencies
This issue currently doesn't have any dependencies.
Reference in new issue
There is no content yet.
Delete Branch '%!s(MISSING)'
Deleting a branch is permanent. It CANNOT be undone. Continue?
No
Yes
La présence d'un .htaccess d’authentification (protection de répertoire par htaccess/htpassword, pas le htaccess.txt de SPIP) pose des problèmes de connexion au /ecrire (et potentiellement à la connexion au site même pour un visiteur).
Le login/password demandé par le htaccess est considéré comme une tentative de connexion, ce qui génére le message d'erreur suivant :
"Erreur de connexion - Vous êtes identifié sous le login login_entrer_pour_htaccess, mais celui-ci n'existe pas/plus dans la base. Essayez de vous reconnecter, après avoir éventuellement quitté puis redémarré votre navigateur."
Ceci est également présent à la déconnexion et à la validation dans certains formulaires AJAX du backoffice.
Pire : s'il y a un auteur avec le même login que l'auth apache, alors SPIP le considère comme authentifié à ecrire/ même si le mot de passe est différent pour SPIP. (remarqué par RealET sur la liste spip-zone).
confirmé, j'ai vu des trucs étranges aussi.
peux tu nous aider et nous donner un protocole de test précis et reproductible ( genre j'ai mis ça dans le htaccess, je me suis loggué dans ecrire puis j'ai cliqué sur déconnecter etc etc ) avec des urls quand c'est possible
une faille de sécurité c'est beaucoup dire au fait.
Je vois aussi que tu as eu le probleme en 2.1, je l'ai constaté en spip 3 personnellement
Volontiers
Je n'ai pas d'URL, n'ayant pas de serveurs à disposition. Mais c'est reproductible en local avec WAMP/XAMP ou autre.
Methodologie :
Test n°1
En remplaçant bien sur la ligne AuthUserFile par le chemin vers le fichier .htpasswd préalablement crée.
Vous êtes identifié sous le login gael_chareyre, mais celui-ci n'existe pas/plus dans la base. Essayez de vous reconnecter, après avoir éventuellement quitté puis redémarré votre navigateur." au lieu d'avoir le formulaire de login de SPIP
Test n°2
Test n°3
il faudrait a minima pouvoir désactiver l'auth HTTP de SPIP quand on veut s'en servir pour ce type d'usage. Je reporte en 3.1 car ce ne sera pas corrigé avant.
Version cible mise à 3.1
Quelqu'un n'aurait pas un petit palliatif vite faite (même s'il faut modifier le core/surcharger des trucs) en attendant SPIP 3 ?
Je présuppose qu'il faut bidouiller dans inc/auth.php (probablement dans auth_mode(), je dirais), mais je ne connais pas assez bien le core et le système d’authentification de SPIP pour faire moi même la modif'...
oui en fait en lisant le code je vois qu'il suffit de mettre dans
mes_options.php
:Statut changé à Fermé