Vous n'êtes pas identifié(e).
bonjour bonjour à tous,
sur mon site j'ai un page index avec differrent include, haut, bas, menu, et la partie centrale qui varie en fonction du lien cliqué.
est il possible que le fichié inclu au milieu contiennent lui aussi un include variable a fonction des liens qui sont sur sa page à lui
(oui oui je sais pas facil à expliquer et a comrendre)
voici un schéma
index.php include -haut.inc.php
- menu.inc.php
- bas.inc.pp
-copies.inc.php
dans copies.inc.php je voudrais faire un include de color.inc.php
est ce possible ???,
car tout ce que j'ai essayé jusqu'a présent plante.
ce que j'ai c'est le fichier copies qui s'insere en boucle jusqu'a saturation de la mémoire.
merci de votre aide
seb
Hors ligne
Saluton,
La réponse est tout simplement oui.
Après il faudrait veiller à la maintenabilité , gare aux usines à gaz.
Quoique, quand je vois ce que génèrent certains CMS....
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
le fait que l'on puisse est une bonne nouvelle
mais je ne vois pas le rapport avec les usines à gaz et la maintenabilité
et surtout je n'arrive pas à ce que ca marche.
y'a t il une subtilité pour ce genre de cas ??
mes liens habituels avec inclue sont du genre
et pour l'include
Hors ligne
Tu viens de faire ce qui s'appelle une énorme bévue, c'est un soucis de sécurité assez grave.
N'importe qui peut mettre ce qu'il veut dans l'url et qui sera automatiquement interprété sans aucun test.
Voici un code déjà plus présentable et correct :
Pour chaque terme tu dois vérifier que c'est bien un terme que tu souhaites afficher. Si le terme n'a pas été prévu tu afficheras une page par défaut (en général la page d'accueil du site ou les news).
Hors ligne
Hors ligne
C'est un grave soucis de sécurité dans le sens où tu récupères une variable que tu envoies directement à une fonction sans même te soucier de ce qu'il y a dedans.
Il suffirait de mettre une url comme cela pour faire ce que l'on veut avec ton site :
index.php?page=http://www.google.fr
Là j'affiche simplement la page de google, mais si je mettais la page de mon site avec mes commandes PHP ?
Que veux-tu dire par elle ne s'affiche pas ? Qu'est ce qui ne s'affiche pas ? Ton <a href=".... ?
Ou bien la page de ton include ?
Aucun message d'erreur ?
Hors ligne
A ce titre, je crois qu'il existait un magnifique tutorial sur un site non moins fameux :
Lien vers le Tutorial sur phpdebutant
Merci de consulter le travail déjà fait... ce serait sympa
Ensuite, j'irais jusqu'à dire que tu peux faire des includes dans des includes qui sont inclus dans des includes et etc.... tu peux tout faire... le tout est de savoir si c'est approprié.
Perso, je me cantonne à un includes du 1er degré..et c'est déjà pas mal
MERCI de lire le mode d'emploi avant de poster !!
Hors ligne
ce qui ne s'affiche pas c'est l'adresse exacte de mon site dans la barre d'adresse
dans la barre d'adresse j'ai juste http://www.monsite.be qui s'affiche et non http://www.monsite.be/index.php?page=...
mais je commence a comprendre ce que tu veux dire
en fait si quelqu'un transformait sur un page cette adresse vers son site il pourrait peut etre avoir acces a des informations "secrete" !!
est ce bien ca ??
merci
Hors ligne
Je cite le tutorial :
Problème de sécurité
Le problème
Si vous avez bien lu, vous savez que le paramètre page est affiché en clair dans la barre d'adresse du navigateur. Il est donc facilement modifiable par l'utilisateur. Ce dernier peut dès lors inclure n'importe quoi dans votre page index.php ! Il convient donc de tester ce que vaut ce paramètre avant d'inclure la page demandée et surtout vérifier que cela correspond bien à ce que vous permettez.
Nous allons pour cela créer un tableau contenant un listing de toutes les pages que vous autorisez dans cet include.
MERCI D'ALLER CONSULTER LE TUTORIAL !!!!!!!!!!!!
Je remets le lien pour ceux qui ne l'aurait pas lu juste avant : Lien vers le Tutorial sur phpdebutant
MERCI de lire le mode d'emploi avant de poster !!
Hors ligne
bonjour alnoss,
bonjour a tous,
je reviens sur l'aide que tu m'avais déja apporté après avoir compris le problème de sécurité et fait les modifications necessaire, j'en revenien à mon premier problème
la double inclusion
donc j'ai mon fichier index dans lequel j'inclu un fichier copy
dans ce fichier copy je voudrais faire varie une partie en fonction du lien sur lequel le visiteur clique
pour cela je pensais faire une include du fichier dans ma page copy
je remet le code des pages copy et index
code de la page index
<body>
<?php $page = $_GET['page']; ?>
<div id="container">
<b class="rtop"><b class="r1"></b><b class="r2"></b> <b class="r3"></b> <b class="r4"></b></b>
<div id="Header">
<div align="center"><img src="images/entete.jpg" width="600" height="120" /></div>
</div>
<div id="divPageContent">
<div id="navcontainer">
<ul id="navlist">
<li<?php if($page== 'accueil'){ echo ' id="active"'; }?>><a href="index.php?page=accueil"<?php if($page=='accueil'){ echo ' id="current"';}?>>Accueil</a></li>
<li<?php if($page=='copy'){ echo ' id="active"'; }?>><a href="index.php?page=copy" <?php if($page=='copy'){ echo 'id="current"';}?>> Copy Service</a></li>
<li<?php if($page=='cachet'){ echo ' id="active"'; }?>><a href="index.php?page=cachet"<?php if($page=='cachet'){ echo ' id="current"';}?>>Cachets</a></li>
<li<?php if($page=='imprimerie'){ echo ' id="active"'; }?>><a href="index.php?page=imprimerie"<?php if($page=='imprimerie'){ echo ' id="current"';}?>>Imprimerie</a></li>
<li<?php if($page=='horaire'){ echo ' id="active"'; }?>><a href="index.php?page=horaire"<?php if($page=='horaire'){ echo ' id="current"';}?>>Horaire</a></li>
<!-- <li<?php if($page=='upload'){ echo ' id="active"'; }?>><a href="index.php?page=upload"<?php if($page=='upload'){ echo ' id="current"';}?>>Upload</a></li>-->
</ul>
</div>
<table border="0" cellpadding="5" cellspacing="0">
<tr>
<td valign="top" class="leftColumn">
<div id="sideBarNews">
<div id="newsHeader">
<b class="dtop"><b class="r1"></b><b class="r2"></b><b class="r3"></b><b class="r4"></b></b>
<div align="left"><font size="6" COLOR="0033EF"><b> BURO COPY</b></font></div >
<div align="right"><font color="red" SIZE="5">Saint Etienne </font></div>
<b class='dbas'><b class='r4'></b><b class='r3'></b><b class='r2'></b><b class='r1'></b></b>
</div>
<div class="newsItem2">
</div>
<div id="sideBarNewsContent">
<b class="dtop"><b class="r1"></b><b class="r2"></b><b class="r3"></b><b class="r4"></b></b>
<font size=4 color="#0033ef">
<div class="newsItem"> </div>
<div class="newsItem"> Avenue Emile Henricot, 43<br> 1490 Court-Saint-Etienne </div>
<div class="newsItem2" align="center"> </div>
<div class="newsItem"> Téléphone : 010/61.53.39</div>
<div class="newsItem"> Fax : 010/61.65.88</div>
<div class="newsItem"> E-mail : <a href="mailto:info@burocopy.be">info@burocopy.be</a></div>
<div class="newsItem" align="center"> </div>
<div class="newsItem" align="center"> <a href="http://www.burocopy.be">www.burocopy.be</a></br><p></div>
<b class='dbas'><b class='r4'></b><b class='r3'></b><b class='r2'></b><b class='r1'></b></b>
</div>
<br>
<div id="sideBarNewsContent2">
<b class="dtop"><b class="r1"></b><b class="r2"></b><b class="r3"></b><b class="r4"></b></b>
<font size=4 color="#0033ef">
<div class="newsItem"> </div>
<div class="newsItem"> <center> <a href="index.php?page=recom">Recommander notre site</a></div>
<div class="newsItem2" align="center"> </div>
<b class='dbas'><b class='r4'></b><b class='r3'></b><b class='r2'></b><b class='r1'></b></b>
</div>
</div>
</td>
<td valign="top" class="rightColumn">
<div class="entete" >
<?php
// On définit le tableau contenant les pages autorisées
// ----------------------------------------------------
$pageOK = array('accueil' => 'accueil.inc.php',
'copy' => 'copy.inc.php',
'imprimerie' =>'imprimerie.inc.php',
'horaire' => 'horaire.inc.php',
'cachet' => 'cachet.inc.php',
'recom' => 'recom.inc.php',
);
// On teste que le paramètre d'url existe et qu'il est bien autorisé
// -----------------------------------------------------------------
if ( (isset($_GET['page'])) && (isset($pageOK[$_GET['page']])) ) {
include($pageOK[$_GET['page']]); // Nous appelons le contenu central de la page
} else {
include('accueil.inc.php'); // Page par défaut quant elle n'existe pas dans le tableau
}
?>
</div>
</tr>
</table>
</div>
<b class='gbottom'><b class='r'></b><b class='r3'></b><b class='r2'></b><b class='r1'></b></b>
</div>
</body>
</html>
code de la page copy
<h2>Copy Service :</h2>
Nos Tarifs :
<a href="fulllaser.inc.php">Copie full laser </a>
<a href="couleur .inc.php">Copie couleur</a>
<a href="laser.inc.php">Copie lazer</a>
<?php
// include($_GET['page'].'.inc.php');
?>
comment faire pour que lorsque le visiteur clique sur : " Copie Full laser" ou sur "Copie Couleur" ou sur " copie lazer" la page de ce lien ce mette en dessous des différents lien
ps j'ai mis la ligne de l'include en commentaire car aussi non il tente de charger la page copy indéfiniment
Dernière modification par zoulouseb (16-12-2009 11:39:10)
Hors ligne
ok
mais concretement comment je dois ecrire on include ??
je la mets ou cette deuxieme variable
merci
Hors ligne
Bah tu auras un lien comme cela : index.php?page=copy&page2=fulllaser
Ensuite ton premier include de la forme : include($_GET['page']); (tout en gardant tes vérifications !)
Puis ton second dans la page incluse : include($_GET['page2']); (avec le même genre de vérifications)
Hors ligne