include php, le plus sécurisant ?

WRInaute occasionnel
Bonjour.

J'aurai voulu savoir laquel des méthodes seraient la plus sécurisantes.
un include tout bête de type :

Code:
<?php include('exemple.php'); ?>

ou bien :

Code:
<?php
	$chemin_menu_exemple = 'dossier/dossier_index/dossier2/';
	include($chemin_menu_exemple.'exemple.php'); ?>

Merci bien.
 
WRInaute occasionnel
Je ne comprend pas ce que tu entends par sécurisant...

tip : include_once permet de ne pas inclure 2 fois le même script.
 
WRInaute discret
Ben les 2 sont les mêmes là :roll:
Sinon niveau sécurité tu n'as rien à craindre c'est pour un include de se type que çà craint:
$url=$_GET; (ou POST) include($url);
 
WRInaute impliqué
Salut
Je trouve que créer une variable qui contient l'emplacement du fichier inutile sauf si tu l'utilisera plusieurs fois dans la meme pas, dans ce cas tu peux choisir un nom plus petit petit par exemple $chemin .

@+

Adam ;-)
 
WRInaute accro
>> <?php include('exemple.php'); ?>

syntaxiquement incorrect. à bannir... et cela ne marchera pas sur un vrai serveur bien sécurisé :)
 
WRInaute impliqué
8O 8O 8O 8O
Et celle là ?
Code:
<? include "exemple.php" ?>
PS : Je ne recupère pas "exemple" d'une variable.

Merci
 
WRInaute occasionnel
Merci bien !!

J'utilise l'include avec le chemin donc tout va bien ^^
Mais comme je refais tout le design de mon site aussi bien bannière que passage de table à div, j'en profité pour faire le moin d'erreurs possibles!

Arigato! :lol:
 
WRInaute accro
alors dans ce cas, par de la racine :

/dossier1/dossier2/... (le slash du début ! :) ) paceque sinon le serveur ne sait pas si ton dossier1 se situe à la racine, dans ton répertoire courant, ou en Bolivie :)
 
WRInaute impliqué
e-kiwi a dit:
alors dans ce cas, par de la racine :

/dossier1/dossier2/... (le slash du début ! :) ) paceque sinon le serveur ne sait pas si ton dossier1 se situe à la racine, dans ton répertoire courant, ou en Bolivie :)

Si c'est un serveur de type Unix et qui donc répond aux normes UNIX, quand aucun chemin n'est spécifié, c'est le répertoire courant qui est pris en compte.

C'est ce que l'on appelle le "working directory".



.
 
WRInaute impliqué
Salut
Donc pas la peine d'indiquer le dossier si le fichier inclu se trouve dans le meme dossier que celui où je l'include.

Merci
 
WRInaute accro
non, il faut donner le chemin tout le temps !
je peux te donner un grand hebergeur mutualisé francais, chez qui, si tu ne donnes pas le chemin d'accès, tu aura un joli erreur d'includes, meme en etant dans le meme repertoire (serveus sous OpenBSD).

c'est pas compliqué, soit tu codes pour que ca marches tout le temps chez tout le monde, soit tu codes pour que ca ne marches que chez certains, à toi de voir
 
WRInaute impliqué
e-kiwi a dit:
je peux te donner un grand hebergeur mutualisé francais, chez qui, si tu ne donnes pas le chemin d'accès, tu aura un joli erreur d'includes, meme en etant dans le meme repertoire (serveus sous OpenBSD).

C'est bête, il ne doit pas y avoir beaucoup d'applications à fonctionner chez eux, toute la bibliothèque PEAR par exemple.


Ce n'est pas parce qu'un hébergeur grand public ne sait pas configurer le safe mode ( qui en plus est une très mauvaise chose, ce n'est pas moi qui le dit, mais l'équipe PHP, d'ailleurs cette fonctionalité n'existera plus en PHP6 ) qu'on doit faire n'importe quoi. Et oui,le problème vient du fait que le safe mode est activé et que la variable de configuration safe_mode_include_path est vide ainsi que include_path, ce qui prouve bien que l'hébergeur n'a pas compris grand chose au pourquoi du comment du safe mode.

L'un des principe en programmation, que ce soit pour le web ou bien pour de la programmation traditionnel est d'utiliser des chemins relatifs pour un maximum de portabilité.

c'est pas compliqué, soit tu codes pour que ca marches tout le temps chez tout le monde, soit tu codes pour que ca ne marches que chez certains, à toi de voir

Et tu crois qu'en mettant des chemins absolus, ça marchera mieux ? Pas de bol lorsque tu te trouves dans une baie à répartition de charge de type LVS, le chemin absolu peut ne pas être le même en fonction du frontal ou en fonction du mode dans lequel se trouve le frontal.

.
 
WRInaute occasionnel
wullon a dit:
e-kiwi>quand tu dis le chemin complet, pour un dédié, c'est un truc du genre /usr/local/www/... ?

pour faire plus simple tu peux faire du style

Code:
include($_SERVER['DOCUMENT_ROOT'].'/exemple.php');
 
WRInaute accro
>> Et tu crois qu'en mettant des chemins absolus, ça marchera mieux ?

ben non, il faut passer par les chemins physiques. Maze12 donne tres bien la syntaxe
 
WRInaute impliqué
e-kiwi a dit:
>> Et tu crois qu'en mettant des chemins absolus, ça marchera mieux ?

ben non, il faut passer par les chemins physiques. Maze12 donne tres bien la syntaxe

Sauf que $_SERVER['DOCUMENT_ROOT'] ne fonctionne pas non plus sur un LVS.
 
Discussions similaires
Haut