Question sur la fonction include

Eléphant du PHP | 101 Messages

18 déc. 2005, 21:20

Bonsoir à tous,

dans le but d'optimiser mon site je compte utiliser la fonction include mais en lisant à droite à gauche j'ai appris qu'il y avait une faille.. j'aimerai savoir si une fonction include est vraiment sécurisée de cette manière ?

Code : Tout sélectionner

<?php $filename = "./menu.php"; if (file_exists($filename)) include($filename); ?>
et surtout j'ai lu également qu'il fallait se limiter à deux voire trois include par page pour limiter le nombre de requête serveur alors que je voudrais en mettre 4 ou 5... est-ce que c'est trop ?

Merci.

ViPHP
ViPHP | 649 Messages

18 déc. 2005, 22:19

j'aimerai savoir si une fonction include est vraiment sécurisée de cette manière ?
Pourquoi ça serait pas sécuritaire? En faisant une include, tu te demandes: "Est-ce que si le visiteur va voir la page en include il risque de tomber sur des trucs confidentiels?". Par exemple, il y en a qui font des includes pour leur connexion à mysql, ce qui est très bien mais ils le font tout croche, ce qui fait que tout le monde peut voir leur trucs:
Code de include.php

Code : Tout sélectionner

$host = "localhost"; $user = "username"; $pass = "hehe il met son pass";
Code de index.php
<?php
include "include.php";

mysql_connect("$host", "$user", "$pass");
mysql_close();
?>
Bien sûr si le visiteur tape www.tonsite.com/include.php , que voit-il? et oui... la méthode correcte aurait été dans ce cas:
<?php
//en le mettant dans du php, on est safe
$host = "localhost";
$user = "username";
$pass = "hehe il met son pass";
?>
et surtout j'ai lu également qu'il fallait se limiter à deux voire trois include par page pour limiter le nombre de requête serveur alors que je voudrais en mettre 4 ou 5... est-ce que c'est trop ?
Faut pas croire tout ce qu'on lit, il est vrai qu'il est bien de limiter le nombre d'includes mais rassure toi, 4 ou 5 includes feront mourir personnes
:wink:
Image

ViPHP
ViPHP | 1996 Messages

19 déc. 2005, 00:33

je suis d'accord INCLUDE est sécurisé. Par contre si tu veux mettre des données obligatoire pour ton script utilise plutôt REQUIRE
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

ViPHP
ViPHP | 649 Messages

19 déc. 2005, 00:37

Attention! Il faut analyser la situation pour chosir entre un require un une include. Si tu utilises include "page.php"; et que page.php est introuvable, il t'indiquera une erreur mais chargera le reste de la page. Par conséquent, si tu aurais écrit require "page.php"; et qu'elle n'y aurait pas été, la fin du chargement aurait été impossible, t'affichant une FATAL Error et blablabla...[/b]
Image

Eléphant du PHP | 101 Messages

08 janv. 2006, 13:55

Non mais en fait j'ai lu qu'un "hacker" pouvait utiliser une fonction include non sécurisée sur un site pour utiliser un script du genre vicieux pour emmerder le webmaster mais ça doit être uniquement quand on passe les variables dans l'url qu'il y a un danger
moi c'est juste mon menu pour eviter de le changer sur toutes les pages si y'a besoin, y'a rien de confidentiel là dedans