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

Langage PHP Discussion :

Interdire de reculer de répertoire en PHP


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 3
    Points : 5
    Points
    5
    Par défaut Interdire de reculer de répertoire en PHP
    Bonjour,
    dans le but de faire un genre de Web FTP sur mon serveur, j'aimerais interdire à PHP de reculer de dossier.

    Voici un exemple:

    je me trouve à /www/ où est le site principal.
    ensuite, j'ai un autre site sur /www/site2/

    Mais si sur /www/site2/ je fais :
    <?php
    include('../index.php');
    ?>
    il a accès au site principal.

    Est-ce possible d'interdire cela (.htaccess par exemple) ?

    Merci d'avance

  2. #2
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2009
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    Alors pour interdire l'accès à quelque chose en htaccess il y a deux possibilité :
    Le XXX représente une page ou bien une Regex.
    deny : refus
    allow : autorisé

    <FilesMatch "XXX">
    Order allow,deny
    Allow from localhost
    Deny from all
    </FilesMatch>
    On autorise d'abord au cas tu veux autoriser ton domaine à y accéder.
    Tu remplace le localhost par ce qu'il faut

    <FilesMatch "XXX">
    Order Deny,Allow
    Deny from all
    </FilesMatch>
    On refuse tout accès aucun allow

    Sinon tu colle une condition au niveau de l'include pour qu'il n'accepte pas la chaine "../"

  3. #3
    Membre régulier Avatar de langevert
    Profil pro
    Inscrit en
    Août 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 92
    Points : 71
    Points
    71
    Par défaut
    Salut,

    Si par exemple tu veux accepter tous les fichiers d'un répertoire et de ses sous-répertoires:

    Tu peux retrouver le chemin absolu (1) de la page à inclure (notamment avec la fonction realpath) et le comparer au chemin absolu du dossier autorisé (2) : Si 1 contient 2, c'est ok.

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    Citation Envoyé par Ange tête brûlée Voir le message
    Alors pour interdire l'accès à quelque chose en htaccess il y a deux possibilité :
    Le XXX représente une page ou bien une Regex.
    deny : refus
    allow : autorisé

    <FilesMatch "XXX">
    Order allow,deny
    Allow from localhost
    Deny from all
    </FilesMatch>
    On autorise d'abord au cas tu veux autoriser ton domaine à y accéder.
    Tu remplace le localhost par ce qu'il faut

    <FilesMatch "XXX">
    Order Deny,Allow
    Deny from all
    </FilesMatch>
    On refuse tout accès aucun allow
    Ça ne fonctionnera pas puisque PHP passera directement par le système et non par HTTP (donc Apache).

    Citation Envoyé par langevert Voir le message
    Salut,

    Si par exemple tu veux accepter tous les fichiers d'un répertoire et de ses sous-répertoires:

    Tu peux retrouver le chemin absolu (1) de la page à inclure (notamment avec la fonction realpath) et le comparer au chemin absolu du dossier autorisé (2) : Si 1 contient 2, c'est ok.
    Ça revient un peu à réinventer open_basedir.

    Mais avec un accès FTP relativement libre et/ou une configuration du serveur inappropriée, il sera toujours possible d'aller contre ce genre de mesure. Il aurait mieux valu séparer/isoler les sites dès le départ tant au niveau configuration que "système" (DocumentRoot & co).

Discussions similaires

  1. Interdire l'acces directe aux fichiers php
    Par Never dans le forum Apache
    Réponses: 4
    Dernier message: 04/12/2006, 21h00
  2. Réponses: 1
    Dernier message: 31/10/2006, 12h13
  3. 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
  4. Lecture des répertoires et sous répertoire en php
    Par BRAUKRIS dans le forum Langage
    Réponses: 1
    Dernier message: 30/03/2006, 17h27
  5. CFileDialog : interdire le changement de répertoire
    Par manhattan.project dans le forum MFC
    Réponses: 3
    Dernier message: 28/11/2005, 17h29

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