fonction include()

fonction include() - PHP - Programmation

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  

Reply

Marsh Posté le 27-11-2003 à 15:09:35   

Reply

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

Reply

Marsh Posté le 27-11-2003 à 16:07:33    

JagStang a écrit :

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


La faille d'include ?  
si je fais  
 
include("photo.php" );
 
ya la faille ou pas ??

Reply

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 :non:
 
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
 
?>


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

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
 
http://www.ton-site.com/index.php?page=/etc/password
 
Et ton index.php qui fait gentiement in include du fichier :non:
 
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
 
?>


 
Comprends pas tout l'histoire de la faille  :??:  
Mais bon pour le reste ça marche nikel
Je t'en remecie !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed