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

JavaScript Discussion :

[AJAX] Sécuriser les php nécéssaires aux xmlhttprequest


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 64
    Points : 55
    Points
    55
    Par défaut [AJAX] Sécuriser les php nécéssaires aux xmlhttprequest
    Bonjour,

    Pour le back office d'un site sur lequel je travail, j'utilise pour la première fois, des requetes xmlhttprequests.
    Cela fonctionne tres bien.

    Habituelement, pour les backs offices que je crée, les php nécéssaires à l'administrations du site étant appelées en include, en plus des sessions, je met un .htaccess qui restreint l'accès à ces php au localhost (soit uniquement en appel interne au serveur).

    Hélas depuis l'implémentations de l'ajax pour ce backoffice, je suis confronté à 2 problemes de sécurité :
    - 1 Je n'arrive pas à utiliser mes sessions créées à l'identification de l'admin pour verifier si l'utilisateur à bien le droit d'utiliser ces fichiers (en gros les sessions marche pour l'admin, mais si quelqu'un ouvre un des php nécéssaire aux requettes xmlhttprequests, il n'y a pas de vérifications, les variables de sessions n'étant pas utilisables aparement)

    - 2 Les appels xmlhttprequest partant du navigateur de l'utilisateur de ce panneau d'admin, le .htaccess limitant au localhost ne fonctionne pas et bloque ce type de requetes.

    Ces appels ajax sont utilisés pour :
    -Listes liées
    -Listes avec possibilités d'ajout
    -Barres de progressions

    D'ou mes questions :
    Comment sécuriser (empecher l'acces direct) des fichiers php appelés par xmlhttprequest ?
    Est il possible d'utiliser les séssions lors de requetes ajax ?
    Et plus généralement comment sécuriser vous vos appes ajax ?

    Par avance merci de votre aide.
    Cordialement
    William

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 12
    Points : 14
    Points
    14
    Par défaut
    Salut,

    Quand tu appelles une page php avec xmlhttprequest, cette page te renvoie des informations que tu traites en javascript... Tu débute toutes les pages pages par un session_start(), je suppose que tu connais déjà.
    Là tu auras accès à tes variables de sessions.
    Si l'utilisateur n'a pas le droit de faire une action, peux renvoyer quelque chose du style <ERROR code=12>Vous devez etre une administrateur</ERROR>. En javascript lorsque tu récupère le résultat de ton xmlhttprequest tu affiche le message d'erreur s'il y en a un, sinon tu fais le traitement habituel.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 64
    Points : 55
    Points
    55
    Par défaut
    Bonjour, et merci pour cette réponse.

    Par contre pour les sessions, si je me souviens bien et j'avais fait l'essais avec le session start, suivit de la verification des droits de l'utilisateur.

    Et en faisant un post normal sur la page ca marchait, et en faisant un post via xmlhttprequest, ca ne fonctionnait plus (l'utilisateur n'était jamais reconnu comme admin, car table de sessions vide).

    Je referait un essais ce soir pour bien vérifier que l'erreur de vient pas de moi.

    Enfin, personne ne connait d'astuces opur adapter les .htaccess pour accepter les requetes xmlhttprequests (car la alow from localhost marche tres bien pour les includes, mais pas du tout en xmlhttprequest) ?

  4. #4
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 289
    Points
    3 289
    Par défaut
    Tu n'y arriveras pas avec AJAX... Passe par des iframes cachées...
    Fremy
    Pour vos développements Web et une navigation agréable, le tout gratuit :
    1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
    2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 64
    Points : 55
    Points
    55
    Par défaut
    Bonjour,

    désolé, mais je ne vois pas ce que tu veux dire par "passe par les iframes" cachées :
    j'en utilise une pour résoudre un probleme de barre de progression, mais je ne vois pas comment les iframes pourraient aider à résoudre mon pb de sécurité avec les sessions ou les htaccess.

    Peut tu m'en dire d'avancetage stp ???

  6. #6
    Membre actif

    Inscrit en
    Juin 2003
    Messages
    229
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juin 2003
    Messages : 229
    Points : 223
    Points
    223
    Par défaut
    Pour ce qui est de vérifier la provenance de la requête, tu peux peut-être utiliser $_REMOTE_ADDR qui indique l'adresse IP du client ?

    Ainsi tu pourrais limiter l'appel à 127.0.0.1 ou quelque chose du genre ...

Discussions similaires

  1. [AJAX] Ajax et les sessions PHP
    Par webrider dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 31/05/2007, 15h44
  2. [AJAX] Cherche Chat php / ajax / XMLHTTPRequest sans SQL
    Par fabien14 dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 25/02/2007, 12h23
  3. navigation en ajax dans les page php
    Par speedylol dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 19/10/2006, 15h58
  4. Réponses: 2
    Dernier message: 08/02/2006, 14h11

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