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

  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
    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
    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 régulier
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 201
    Points : 108
    Points
    108
    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 régulier
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 201
    Points : 108
    Points
    108
    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
    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
    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 !

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 11
    Points : 10
    Points
    10
    Par défaut Simplexml_load_file et allow_url_include
    salut tout le monde...
    je lis des fichier rss distant avec simplexml_load_file...Et sur mon hébergeur je recois un message Warning: include() [function.include]: URL file-access is disabled in the server configuration . je ne sais pas comment contourner ce probleme
    allow_url_include et allow_url_fopen sont OFFFF....

    Pouvez vous m'aider?

  9. #9
    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
    Un hébergeur, certes, mais de quel type ? Pouvez-vous modifier le fichier php.ini ou vous permet-il de changer les paramètres par fichier .htaccess ? Si la réponse à ces deux solutions est non, vous devrez récupérer votre source autrement (extension cURL par exemple ou faire vos requêtes par les sockets/fsockopen).

    N'offre-t-il pas un support ou des documentations à ce sujet ?

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 11
    Points : 10
    Points
    10
    Par défaut
    Merci JULP.
    D'abors moi c'est tu et pas vous...
    Alors oui, je peux modifier le INI,
    j'ai changé allow_url_fopen et allow_url_include, je les ai apssé à on...
    j'ai fait un info.php pour vérifier que ca avait bien changé.....OK
    Mais j'ai toujours le même message d'erreur....

    Alors je suis pas un cador en PHP....
    mais bon lancer cette ligne :
    $news = simplexml_load_file("http://fr.pokernews.com/tournois-de-poker-en-ligne/cash-rss.xml"); ne dois pas me donner un message d'erreur....

    Je suis catastrophé....
    Aidez moi les gars SVP....

  11. #11
    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
    Le message d'erreur est strictement identique ? Est-ce que le contexte d'exécution du script est bien identique à celui de votre vérification du phpinfo (CLI - en ligne de commande - vs web - via votre navigateur) ?

  12. #12
    Invité
    Invité(e)
    Par défaut
    Je n'ai toujours pas réussi à résoudre mon problème. Je ne comprends pas du tout ce qui se passe...

    Voilà l'erreur générée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Warning: include() [function.include]: URL file-access is disabled in the server configuration in E:\Mes Documents\Eclipse\pmx\galerie\lis_galerie.inc.php on line 57
     
    Warning: include(http://localhost/eclipse/pmx/galerie/config/version.php) [function.include]: failed to open stream: no suitable wrapper could be found in E:\Mes Documents\Eclipse\pmx\galerie\lis_galerie.inc.php on line 57
     
    Warning: include() [function.include]: Failed opening 'http://localhost/eclipse/pmx/galerie/config/version.php' for inclusion (include_path='.;E:\xampp\php\pear\') in E:\Mes Documents\Eclipse\pmx\galerie\lis_galerie.inc.php on line 57

  13. #13
    Invité
    Invité(e)
    Par défaut
    AAAAahhhh !!!

    J'ai trouvé la solution ! Cette erreur est dû à une désactivation de la directive allow_url_fopen de plus un nouveau réglage plus fin a été ajouté en PHP5 : allow_url_include. Chez moi, allow_url_include est à off donc, si je mets quelque chose du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    include("http://www.monsite.com/");
    Ca ne fonctionnera pas. Il faut quelque chose du type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    include("/dossier/fichier.php")
    Voilà. Si je me trompe, dites-le moi.

  14. #14
    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
    Oui c'est bien ça mais c'est ce qu'on vous a indiqué et expliqué depuis le début

  15. #15
    Invité
    Invité(e)
    Par défaut
    Désolé je comprenais pas.....

    Mais là c'est bon ! that's all right !! euh... c'est tout bon

  16. #16
    Nouveau Candidat au Club
    Inscrit en
    Août 2006
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par babastutz Voir le message
    AAAAahhhh !!!
    J'ai trouvé la solution ! Cette erreur est dû à une désactivation de la directive allow_url_fopen de plus un nouveau réglage plus fin a été ajouté en PHP5 : allow_url_include. Chez moi, allow_url_include est à off ...
    j'interviens un peu tard, désolé, ne venant que de découvrir ce fil de discussion.

    par défaut allow_url_include est à off chez la plupart des hébergeurs (recommandation doc officielle de php); Je connais au moins un hébergeur (le mien) qui a pris la précaution de rendre non modifiable cette valeur, même dans le php.ini (elle ne peut être modifiée dans .htaccess: voir doc officielle)

    C'est en effet un pb d'éthique (et peut-être de sécurité?) peut-on inclure d'officice un fichier venant d'une URL externe à l'insu de son propriétaire?

    avec allow_url_include = 0 il n'y a aucun moyen d'inclure avec les functions classiques de lecture ou d'obtention des data d'un fichier.
    il reste cependant 2 moyens:
    inclure avec src=
    ou inclure avec un script Ajax en utilisant l'objet HTTPREQUEST: on trouve les scripts sur tous les sites qui parlent d'ajax.

  17. #17
    Nouveau membre du Club
    Homme Profil pro
    développeur javascript et PHP en rech d'emploi
    Inscrit en
    Juillet 2011
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : développeur javascript et PHP en rech d'emploi

    Informations forums :
    Inscription : Juillet 2011
    Messages : 85
    Points : 38
    Points
    38
    Par défaut en simplifiant,
    pour ceux qui comme moi tomberont sur cette discussion en cherchant à résoudre :

    wrapper is disabled in the server configuration by allow_url_include=0
    il suffit de modifier :

    C:\Program Files\EasyPHP-5.3.9\conf_files\php.ini
    (mutatis mutandis), les 2 lignes comme ceci :

    allow_url_fopen = On
    allow_url_include = On

    mais attention à votre sécurité !

+ 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