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

AJAX Discussion :

[AJAX] Requete Ajax retournant un 403


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 15
    Par défaut [AJAX] Requete Ajax retournant un 403
    Bonjour à tous,

    Voilà ce que je souhaite faire :
    Je souhaite réaliser un page web de recherche à partir d'une BDD. J'ai donc un formulaire de recherche comportant des filtres sous forme de liste déroulante.

    Pour info cette page permet de rechercher des salariés et afficher ceux correspondant aux critères (agence de travail, travaux réalisés, etc.)

    Ce que j'aimerais faire, c'est que, dynamiquement, lorsque j'utilise mon select contenant la liste des salariés (récupérée via une requête sur table) et que je sélectionne une valeur, un petit cadre en dessous apparaît m'affichant des infos comme par exemple une date et un autre champs (la requete pour ce faire est déjà prête).

    Donc j'ai choisis pour ce faire d'utiliser l'objet javascript XMLHttpRequest pour éxécuter ma requete via Javascript sans avoir à recharger ma page.

    QUESTION 1 : XMLHttpRequest est il la meilleure solution pour effectuer une requete dynamique sans recharger une page complète ?

    Pour l'instant j'essaie en affichant qu'un simple fichier texte (test.txt) contenant une phrase et qui seras affichée au onhange de mon select (ce fichier est dans le même répertoire que le fichier appelant)
    Voilà le code de la fonction lancée à l'appel du onchange en HTML

    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
     
    function transmission()
    {
     
    		var xhr_object = getXMLHttpRequest(); /* Renvoie un objet XMLHttpRequest ou ActiveX en fonction du navigateur */
     
    		xhr_object.onreadystatechange = function() 
    		{
    				alert("OK");
    				alert('Status : ' + xhr_object.status);
    				alert('Réponse : ' + xhr_object.responseText);
    		};
     
    		xhr_object.open("POST", "test.txt", true);
     
    		xhr_object.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
     
     
    		xhr_object.send(null);

    Le message 'OK' est affiché 5 fois avant de me faire apparaitre une fenetre avec écrit 403 dedans.
    La réponse est le code HTML suivant :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
    <html><head>
    <title>403 Forbidden</title>
    </head><body>
    <h1>Forbidden</h1>
    <p>You don't have permission to access '...'</p>
    </body></html>

    Où '...' est le chemin relatif du repertoire FTP sur le serveur où se trouve le fichier.

    J'ai fais des recherche sur l'Internet et apparrement ce refus d'accès serait peut être due du à une politique de sécurité avec des fichiers .htaccess J'ai trouvé ce fichier sur le serveur qui est lié à un fichier passwd contenant un mot de passe crypté mais je nais pas comment autoriser l'accès au fichier.

    QUESTION 2 : Comment contourner un accès forbidden 403 ? Sachant que j'ai accès à ce serveur via FTP et une BDD via PHPMyAdmin.

    Je précise que je suis complètement débutant en Ajax (j'en ai jamais entendu parler jusqu'à ce jour) et même en développement web en général, donc si j'ai commis des erreurs/confusions, je serai ravis de l'apprendre

    Merci d'avance

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    mais je nais pas comment autoriser l'accès au fichier.
    C'est probablement parce que tu n'as pas été regarder du coté de la
    Comment accéder à une page nécessitant une athentification ?
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 15
    Par défaut
    Merci, effectivement je n'ai pas vu cette partie de la FAQ, merci ^^

    Ok, donc en gros je met le contenu de mon fichier passwd.txt (fichier lié à .htaccess) dans l'url de la fonction open ?

    Le mot de passe du fichier passwd est crypté mais je connais la version décryptée. J'essaie avec quelle version (cryptée ou décryptée ?)?

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 15
    Par défaut
    Re je viens d'essayer.

    Vu que le fichier est dans le même dossier, je vais donc me retrouver avec un code du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xhr_object.open("POST", "monlogin:monmdp@test.txt", true);
    Où monmdp est mon mot de passe (version cryptée présente dans mon fichier passw.txt qui est appelé par .htaccess)
    J'ai essayé avec le mot de passe "décrypté" aussi mais ça ne marche pas.

    Idem sous cette forme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    xhr_object.open("POST", "test.txt", true, 'monlogin', 'monmdp');
    FireBug me rends cette erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    403 Forbidden
    		65ms	
    "NetworkError: 403 Forbidden - http://monlogin:monmdp@adresseIP/mondossier/test.txt"
    "adresseIP" est l'adresse du site (utilisée en tant qu'URL pour accéder au site).
    J'ai également essayé en créer un fichier .htaccess dans le même répertoire que ma page appelante et mon "test.txt". ce fichier contient le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    order deny,allow
    deny from all
    <Files adresseIP/mondossier/test.txt>
    allow from all
    </Files>
    Mais sans succès, toujours le même problème...



    Pour indication, le fichier .htaccess dont je parlais dans le tous premier post est dans un répertoire parent à celui dans lequel je travail.

    Voici son contenu actuel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    AuthName "Accès réservé"
    AuthType Basic
    AuthUserFile "repertoirecourant/img/passw.txt"
    Require valid-user

    Où "repertoirecourant" est l'URL absolue du dossier où se trouve mon .htacces (donc "passw.txt" est dans le dossier enfant "img").

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 15
    Par défaut
    Personne d'autre ne peux m'aider ?

    J'ai plusieurs tests, et j'ai toujours cette erreur "403 Forbidden".

    Sachant que j'ai accès au FTP (comprenant le dossier d'installation d'Apache et de MySQL, avec tous les autres fichiers du site), quel moyens me restent ils pour autoriser ce typed e reuqete Ajax ?

    Se pourrait-il qu'il s'agisse d'une limitation/sécurité volontaire au niveau du serveur que je ne puisse pas changer ?

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    AuthUserFile correspond au chemin du fichier contenant les utilisateurs autorisés (ton .htpasswd), pas le fichier que tu veux autoriser.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  7. #7
    Expert confirmé
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 100
    Par défaut
    Citation Envoyé par Jim_Crayon Voir le message
    J'ai plusieurs tests, et j'ai toujours cette erreur "403 Forbidden".
    Quand tu accèdes à cette page avec ton navigateur, de façon classique, as-tu toujours l'erreur ?
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

Discussions similaires

  1. [AJAX] requete ajax imbriquée
    Par affreuxzozo dans le forum AJAX
    Réponses: 9
    Dernier message: 14/05/2009, 14h44
  2. [AJAX] Requete Ajax : accents
    Par Romalafrite dans le forum AJAX
    Réponses: 2
    Dernier message: 11/05/2009, 11h35
  3. [AJAX] Requete Ajax
    Par Carb0 dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 19/01/2009, 16h42
  4. [AJAX] requete ajax à partir de deux champ de mon form
    Par ineskh dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 30/04/2008, 14h39
  5. [AJAX] Requete ajax sur une meme page php
    Par Bownobo dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 22/06/2007, 11h25

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