Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Serveurs (Apache, IIS,...) > Apache
Apache Forum d'entraide Apache. Avant de poster : Cours Apache, FAQ Apache
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/08/2011, 17h50   #1
Membre habitué
 
Homme
Étudiant
Inscription : mai 2011
Messages : 226
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2011
Messages : 226
Points : 126
Points : 126
Par défaut Autorisation sur requêtes PUT

Bonjour,

Je galère à configurer mon serveur. J'aimerais pouvoir écrire dans l'un des dossier du serveur avec les requêtes ajax PUT. Voici ma config actuelle :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//apache2.conf
<VirtualHost *:80>
	ServerName storage-dav.com
	ServerAlias www.storage-dav.com

	DocumentRoot /var/www/storage-dav
	<Directory /var/www/storage-dav/>
		AllowOverride All
	</Directory>

	Alias /webdav /var/www/storage-dav/dav
	<Location /dav>
		DAV On
	</Location>
</VirtualHost>

Header always set Access-Control-Max-Age "86400"
Header always set Access-Control-Allow-Origin "*"
Header always set Access-Control-Allow-Methods "POST, PUT"
Header always set Access-Control-Allow-Headers "Content-Type, X-Requested-With, X-HTTP-Method-Override, Accept"
Code :
1
2
3
4
5
6
//fichier .htaccess créé dans le dossier en question :
AuthType Basic
AuthName "test"
AuthUserFile /var/www/storage-dav/dav/test/.htpasswd

Require valid-user
Code :
1
2
//fichier .htpasswd
storage:f82dfd72aa158a7155e23cdb22499108d14cf8479f8e2adc21e619ae5da07fc1
Est-ce que j'ai oublié quelque chose? Est-ce que j'ai fait une erreur?

En particuler, la partie apache2.conf est copiée/collée. J'en suis pas sûr du tout...
En tout cas pour l'instant je me prends des 401.

Merci pour votre aide
Sharcoux est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2011, 17h54   #2
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 285
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 285
Points : 8 570
Points : 8 570
Le problème c'est que pour prendre en charge une requête PUT, il faut soit un script, soit un module (genre mod_dav) qui sait gérer les requêtes PUT. Par défaut, Apache ne sait pas. C'est juste une question de sécurité : éviter qu'on puisse publier n'importe quoi sur un site Apache.
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2011, 18h07   #3
Membre habitué
 
Homme
Étudiant
Inscription : mai 2011
Messages : 226
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2011
Messages : 226
Points : 126
Points : 126
Merci. J'ai activé ce module. J'ai eu la preuve que ça marche quand j'ai essayé cette configuration dans le fichier .htaccess :

Code :
1
2
3
4
5
6
AuthType Basic
AuthName "your unhosted data"
AuthUserFile /var/www/storage-dav/dav/storage/www.ungproject.com/.htpasswd
<LimitExcept PUT>
Require valid-user
</LimitExcept>
La requête PUT marche impeccable... Mais pour tous les utilisateurs...
C'est donc mes paramètres d'authentifications qui sont mal définis.

J'ai vérifié dans firebug : j'ai ceci pour la requête :

Code :
1
2
Content-Type	application/x-www-form-urlencoded; charset=UTF-8
Authorization	Basic storage:f82dfd72aa158a7155e23cdb22499108d14cf8479f8e2adc21e619ae5da07fc1
On voit que le champs d'autorisation est bien conforme au fichier .htpasswd
Sharcoux est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2011, 20h05   #4
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 285
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 285
Points : 8 570
Points : 8 570
Comment as-tu as créé ton fichier .htpasswd ? Pour moi, ça ne devrait marcher pour personne !
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/08/2011, 10h58   #5
Membre habitué
 
Homme
Étudiant
Inscription : mai 2011
Messages : 226
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2011
Messages : 226
Points : 126
Points : 126
J'avais entré le htpasswd plus ou moins à la main. Je ne savais pas qu'il fallait le faire de façon particulière. Au final, je l'ai fait remplir par un php avec
Code :
userName:crypto(password, base64_encode(pasword)
. Côté js, l'en-tête de ma requête se fait par
Code :
Basic Base64.encode(userName:password)
Je comprends pas bien pourquoi, mais ça marche
Sharcoux est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h06.


 
 
 
 
Partenaires

Hébergement Web