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] Interdire accès direct aux pages PHP


Sujet :

JavaScript

  1. #1
    Membre éprouvé
    Profil pro
    Eleveur de cornichons
    Inscrit en
    Juin 2002
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Eleveur de cornichons
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 074
    Points : 1 166
    Points
    1 166
    Par défaut [AJAX] Interdire accès direct aux pages PHP
    Bonjour

    Quand l'objet XHR appelle une page PHP pour effectuer une requête, peut-on interdire l'accès direct à cette page PHP ? Car cela peut entrainer des trous de sécurité même s'il y a toujours moyen de minimiser en vérifiant quelques paramètres.
    Par exemple, quand une page PHP en inclut une autre et qu'on veut interdire l'accès direct à cette dernière, il suffit de définir une constante dans la première et de vérifier que la constante existe bien dans la seconde.
    Mais dans le cas présent avec Ajax, y'a-t-il une astuce dans ce genre ?

    Nas'

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 657
    Points : 910
    Points
    910
    Par défaut
    Kikoo

    Non en fait ce n'est pas possible, car contrairement au cas de PHP où tout se passe côté serveur, ici c'est bien ton client qui fait une requête HTTP pour récuperer une page.

    Une requête faite en javascript avec l'objet XmlHttpRequest n'a aucune différence d'un point de vue serveur avec une requête classique. Il suffit de regarder ce qui transite sur le réseau (avec Firebug ou un sniffer par exemple) pour s'en convaincre.

    Car cela peut entrainer des trous de sécurité
    A toi de faire en sorte que ça ne soit pas le cas
    Tu as toujours possibilité d'utiliser les sessions ou d'autres mécanismes dans ce genre ...
    Cependant je ne vois pas dans l'absolu en quoi Ajax peut introduire une faille de sécurité donc si tu as un exemple plus précis ...

    Bon courage (bon stage ? )
    Toute la documentation Ruby on Rails : gotapi.com/rubyrails
    Mes articles :
    > HAML : langage de template pour Ruby on Rails

  3. #3
    Membre éprouvé
    Profil pro
    Eleveur de cornichons
    Inscrit en
    Juin 2002
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Eleveur de cornichons
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 074
    Points : 1 166
    Points
    1 166
    Par défaut
    Hey

    En fait non, je n'ai pas d'exemples. J'ai dit ça un peu inconsciement, me disant que la page PHP serait visible par tout le monde et que ... mais en fait non, il suffit de la sécuriser comme il faut et ça ira.
    Ce sentiment d'insécurité, je l'ai eu aussi à cause du fait que je n'utilise pas de framework pour tout et j'avais l'impression que mes sources disaient trop de choses par rapport aux autres sites. Par exemple, j'affiche clairement la fonction JS à appeler dans mes balises <input> avec le onClick... Alors que ceux qui utilisent un framwork ne le mettent pas, c'est "lié" à l'évènement d'une autre façon.
    Mais au final, la page PHP reste visible pour tout le monde...

    Merci

    Nas'

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    Citation Envoyé par Nasky
    Mais au final, la page PHP reste visible pour tout le monde...
    Non : c'est le code qu'elle génère qui est accessible

    Sinon, pourquoi ne pas utiliser la même méthode : si tu passes un paramètre généré en dynamique par la page appelante, ça fait un obstacle de plus (que l'url présente "en dur" dans le code JS d'Ajax) ...

    A+
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

Discussions similaires

  1. Interdir l'accès direct aux pages JSF
    Par sky88 dans le forum JSF
    Réponses: 1
    Dernier message: 20/02/2012, 15h32
  2. Interdir l'accès direct aux pages jsp
    Par S_ami dans le forum Servlets/JSP
    Réponses: 13
    Dernier message: 28/08/2010, 06h57
  3. [PHP-JS] interdire l'accès direct à une page php
    Par clem037 dans le forum Langage
    Réponses: 10
    Dernier message: 17/03/2008, 22h04
  4. Interdire l'acces directe aux fichiers php
    Par Never dans le forum Apache
    Réponses: 4
    Dernier message: 04/12/2006, 21h00
  5. htaccess : interdire l'accès direct aux fichiers php
    Par Cédricss dans le forum Apache
    Réponses: 5
    Dernier message: 08/10/2006, 11h29

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