[RESOLU] redirection vers page + include

redirection vers page + include [RESOLU] - PHP - Programmation

Marsh Posté le 30-06-2004 à 00:06:23    

Salut,
 
J'utilise pour mon site la commande php include qui donne des adresse de la forme : "index.php?page=nom_de_la_page"
index.php est toute la mise en page du site et la commande include donne sur le contenu de la rublique.
Le problème : je fais un lien : "index.php?page=exemple" qui va chercher "exemple.php" pour le contenu de la rubrique mais je veux empêcher les internaute de faire le lien "http://www.monsite.com/exemple.php" qui n'affichera pas les menu
Il me faudrais donc un script dans exemple.php qui permet de rediriger vers la bonne adresse si l'adresse n'est pas sous la forum "index.php?page=exemple".
 
Je précise que je suis un débutant alors evitez des termes trop...complex...
 
Merci d'avance.


Message édité par UnknownX le 30-06-2004 à 13:01:38
Reply

Marsh Posté le 30-06-2004 à 00:06:23   

Reply

Marsh Posté le 30-06-2004 à 00:39:16    

essaye un truc dans ce genre, met le en haut de chaque page que tu inclues
 
if (ereg('.php',$_SERVER['REQUEST_URI'])) header('location:index.php');
 
si dans la chaine de la requete envoyé il y a un .php ca te redirige vers l'index de la page du site

Reply

Marsh Posté le 30-06-2004 à 00:42:39    

mais dans "index.php?page=exemple", il y a ".php" non ?

Reply

Marsh Posté le 30-06-2004 à 00:43:52    

Plusieurs possibilités :
 
utiliser $_SERVER['SCRIPT_NAME'] ou $_SERVER['REQUEST_URI'] pour savoir quel est le script en cours d'exécution
 
Utiliser l'URL Rewriting (si ton hébergeur le permet) => www.webrankinfo.com
 
Attention, ta méthode n'est pas très sécurisée :
si à la main je tape http://www.monsite.com/index.php?p [...] t-pas-cool
Que se passe t il ? Si tu ne fais pas de contrôle de ce que tu inclues, tu peux te faire pirater
 
 
Edit : grillé


Message édité par T509 le 30-06-2004 à 00:45:05

---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
Reply

Marsh Posté le 30-06-2004 à 00:51:01    

Citation :

Attention, ta méthode n'est pas très sécurisée :  
si à la main je tape http://www.monsite.com/index.php?p [...] t-pas-cool  
Que se passe t il ? Si tu ne fais pas de contrôle de ce que tu inclues, tu peux te faire pirater


 
Si tu met une adresse de ce type, tu va tout simplement tomber sur la page index.php avec le contenu de la catégorie vide car la commade include va rechercher le fichier include.php ou je doit taper tout les liens present sur le site pour que "exemple" correspond a "exemple.php".
Le lien "http://site-emmerdeur.com/script-pas-cool " n'étant pas répertorié, on obtient une page blanche...

Reply

Marsh Posté le 30-06-2004 à 02:04:17    

Si tu vérifies, c'est bon.
 
Une méthode simple est d'utiliser is_file() qui ne supporte que les fichiers locaux


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
Reply

Marsh Posté le 30-06-2004 à 08:26:24    

Tu peux mettre les fichiers à inclure dans un répertoire include avec un .htaccess qui contient Deny From All
 
Ainsi on ne pourra plus accéder en HTTP aux fichiers que tu inclus.


Message édité par ratibus le 30-06-2004 à 08:26:32
Reply

Marsh Posté le 30-06-2004 à 13:00:39    

ok avec htaccess, je n'ai plus de pb :)
Merci ;)

Reply

Sujets relatifs:

Leave a Replay

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