fonction include() - PHP - Programmation
Marsh Posté le 27-11-2003 à 15:56:22
tout d'abord, attention à la faille d'include. ne pas faire
include($page) ;
mais un switch($page)
ensuite, tu peux tester l'URL de ta page pour savoir si ta page a été appelée directement. je te laisse chercher dans la doc PHP
Marsh Posté le 27-11-2003 à 16:07:33
JagStang a écrit : tout d'abord, attention à la faille d'include. ne pas faire |
La faille d'include ?
si je fais
include("photo.php" );
ya la faille ou pas ??
Marsh Posté le 27-11-2003 à 17:09:58
La faille, c'est de faire l'include avec le contenu de la variable reçue sans l'avoir controlée. Genre le gars qui t'envoie une url du genre
http://www.ton-site.com/index.php?page=/etc/password
Et ton index.php qui fait gentiement in include du fichier
Sinon, il suffit par exemple de faire un truc du genre :
index.php
<?php
DEFINE( 'INDEX', true );
...
... les includes ...
?>
photo.php
<?php
if( ! defined( 'INDEX' ) )
{
header("Location: http://www.ton-site.com/inddex.php" );
}
... Traitement normal
?>
Marsh Posté le 27-11-2003 à 17:34:45
Mara's dad a écrit : La faille, c'est de faire l'include avec le contenu de la variable reçue sans l'avoir controlée. Genre le gars qui t'envoie une url du genre |
Comprends pas tout l'histoire de la faille
Mais bon pour le reste ça marche nikel
Je t'en remecie !
Marsh Posté le 27-11-2003 à 15:09:35
Bonjour a tous,
Mon site est fait de la sorte :
page d'index avec les liens vers les autres pages qui sont en fait inserer dan la page d'index grace a la fonction include() de php.
Exemple :
Je suis sur index.php je clic sur le lien "photo" et la page photo.php s'insere dans une cellule d'un tableau de ma page index.php
Donc j'en viens au probleme je voudrais faire une redirection qui ne me permet pas d'afficher la page photo.php sans passer par la case depart c'est a dire index.php
Je vous remercie de vos reponse