IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

Autorisation sur requêtes PUT


Sujet :

Apache

  1. #1
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    442
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 442
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    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.

  3. #3
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    442
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 442
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  4. #4
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Comment as-tu as créé ton fichier .htpasswd ? Pour moi, ça ne devrait marcher pour personne !

  5. #5
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    442
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 442
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    userName:crypto(password, base64_encode(pasword)
    . Côté js, l'en-tête de ma requête se fait par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Basic Base64.encode(userName:password)
    Je comprends pas bien pourquoi, mais ça marche

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 14
    Dernier message: 23/05/2010, 11h49
  2. Pb sur Requête croisée Access
    Par Proview dans le forum Access
    Réponses: 3
    Dernier message: 04/10/2005, 17h33
  3. aide sur requête sql
    Par Vodkha dans le forum Langage SQL
    Réponses: 9
    Dernier message: 30/08/2005, 17h53
  4. Aide sur Requête SQL
    Par devdev dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 11/05/2005, 12h33
  5. Besoin d'aide sur requête croisée
    Par keawee dans le forum Access
    Réponses: 7
    Dernier message: 18/11/2004, 09h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo