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 :

[Système] URL file-access is disabled


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut [Système] URL file-access is disabled
    Bonjour,

    J'ai un petit problème sur mon site. J'ai essayé d'inclure une page dans une page déjà inclue mais cela me génère une erreur.

    URL file-access is disabled in the server configuration in...

    D'après ce que j'ai pu comprendre, c'est un problème depuis PHP 5.2 avec allow_url_include. Mais je n'en suis même pas sûr. Faut-il changer quelque chose dans php.ini ? Comment le modifier chez mon hébergeur ? Ce n'est pas possible de contourner le probème ?

    Voici la ligne que j'inclus même si elle ne sert pas à grand chose...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    include(HOST."test.php");

  2. #2
    Membre expérimenté

    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
    Par défaut
    Etes-vous conscient que vous incluez/incluriez non pas du code PHP mais le code HTML résultant de l'interprétation de ce script si vous passez par une URL HTTP ? Si vous êtes sur le même serveur vous pouvez très bien passer par le système de fichiers.

    Pour répondre à la question : oui c'est lié à la directive allow_url_include (versions >= 5.2.0) et/ou allow_url_fopen dont la valeur ne peut être changée que si on a la main sur la configuration du serveur (fichier php.ini ou de configuration d'Apache). Mais il est strictement déconseillé d'autoriser et d'utiliser des inclusions distantes.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 201
    Par défaut
    Essaye de faire un file_get_contents() ou un fopen() sur une URL, si ça ne passe pas c'est que allow_url_fopen est à Off. Et là tu n'as aucun autre moyen de détourner le problème...

  4. #4
    Invité
    Invité(e)
    Par défaut
    j'ai fait un phpinfo() et je sais que allow_url_fopen est à On mais allow_url_include est à Off

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 201
    Par défaut
    Alors un fopen ou file_get_contents doit être autorisé.
    Mais comme l'a dit julp, c'est le résultat de l'interprétation du script que tu vas récupérer.. Pas le code PHP contenu dans le fichier.

  6. #6
    Invité
    Invité(e)
    Par défaut
    J'ai peur de ne pas tout comprendre..... snif...

  7. #7
    Membre expérimenté

    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
    Par défaut
    Un exemple. Soit le script suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo 'Hello World !'; ?>
    Son chemin absolu sur le système de fichier est : /home/julp/www/hello.php
    Son adresse HTTP est : http://monserveur/~julp/hello.php

    Dans un autre script PHP :
    • Si vous utilisez une URL HTTP ...
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      echo file_get_contents('http://monserveur/~julp/hello.php');
      ... vous obtiendrez le résultat de cette interprétation :
      Hello World !
    • En revanche, si vous passez par le système de fichier ...
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      echo file_get_contents('/home/julp/www/hello.php');
      ... vous obtiendrez le code PHP, c'est-à-dire le contenu du fichier tel qu'il est stocké sur le serveur :
      <?php echo 'Hello World !'; ?>

    Et ce, peu importe la fonction utilisée.

    Avez-vous compris la différence ? Faites-en l'essai si vous n'êtes pas convaincu !

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

Discussions similaires

  1. move_uploaded_file() file-access disabled
    Par guitz dans le forum Langage
    Réponses: 5
    Dernier message: 23/07/2012, 21h12
  2. URL file-access is disabled in the server configuration
    Par The Goion dans le forum Langage
    Réponses: 1
    Dernier message: 23/12/2011, 09h48
  3. [Système] fonction file() renvoit pas tout le fichier
    Par Oprichnik dans le forum Langage
    Réponses: 7
    Dernier message: 02/10/2006, 17h00
  4. [Système] Lancement automatique Access
    Par johnkro dans le forum Langage
    Réponses: 2
    Dernier message: 18/07/2006, 15h02
  5. [Infos Système] Version d'Access
    Par Dolphy35 dans le forum Access
    Réponses: 1
    Dernier message: 08/12/2005, 21h16

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