Function, Require, Include

Résolu
cs_eli42 Messages postés 143 Date d'inscription mardi 24 décembre 2002 Statut Membre Dernière intervention 11 juillet 2023 - 10 mars 2010 à 12:51
TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 - 14 mars 2010 à 12:27
Bonjour a tous (tes)

voila j'ai un peu chercher sur delphi fr et google mais je n'ai pas vu de solution à ma question
j'expose mon probleme

ma page index comporte un cadre divise en trois nonme Gauche, Milieu, Droite, puis charge entete.php, Gauche.php, Droite.php et bas.php

pour clarte voila le code :

//--------------------------------------------------------------
<?php include("Entete.php"); ?>


<?php include("Gauche.php"); ?>,
<!-- Endroit affichage des commande page entete,gauche,droite.php -->,
<?php include("Droite.php"); ?>



<?php include("Bas.php"); ?>
//--------------------------------------------------------------
voila jusqu'à la pas de probleme



Mon soucie
Sur le bandeau de l'entete.php et droite.php j'ai des images, et la je voudrais faire un include dans class="Milieu" c'est à dire la cellule du milieu de la page index.php, mais quand je met :



ca m'affiche pas Visu1.php dans "Milieu" ca ouvre la page normalement.

soit je suis aveugle : possible
soit j'ai rien compris au include : certainement
soit po possible : les boules


Beau Temps Belle Mer
Georgio

6 réponses

gibozsec Messages postés 318 Date d'inscription mardi 27 mai 2003 Statut Membre Dernière intervention 11 mars 2010
10 mars 2010 à 19:44
Bonjour,

Je ne suis pas certain de bien comprendre. Si je ne me trompe pas, tu voudrais que le lien ouvre visu.php dans la partie centrale uniquement en gardant les partie droite, gauche et bas ?

Si c'est bien le cas tu ne t'y prends pas bien. Ton utilisation des includes n'est pas en cause, simplement tu fais un lien vers une page appelée "visu.php", c'est donc normal que ton navigateur ouvre cette page.

Si tu souhaite rendre la partie centrale dynamique, ce que tu peux faire c'est passer un paramètre à ta page index.php. En fonction de ce paramètre, tu charge la le fichier qui convient. Par exemple :

http://www.tonsite.com/index.php?page=visu charge visu.php dans la partie centrale alors que http://www.tonsite.com/index.php?page=accueil charge accueil.php dans la partie centrale.

Attention cependant, sois prudent sur le fonctionnement que tu vas mettre en place. Par exemple ne te contente pas d'ajouter .php à la valeur du paramètre, sinon n'importe qui pourrait faire charger des fichiers à ton application sans que tu en ais vraiment envie.

Si j'ai mal compris ce que tu veux n'hésites pas à préciser.


Grrrrrrrrrrr
3
shadow1779 Messages postés 706 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2013
10 mars 2010 à 19:50
pour avoir Visu1.php dans ta colonne de tableau il suffit de faire comme suit:

<td class="Milieu"><?php include("Visu1.php"); ?></td> (href ne s'applique pas a un tableau

après pour l'utilisation que t'en veux je sais pas si ca te conviendra, si le but est de faire de l'inclusion dynamique: a savoir une (ou plusieurs comme ici) page de template, et le contenu qui vient se greffer dedans j'te conseil plus une approche comme tel:

Considéront une page inc-haut et une page inc-bas (qui représente ton template), inc-haut contient le début du code jusqu'a <td valign="top" class="Milieu"> et inc-bas le restant du code

ensuite pour chaque page php (index.php / articles.php / contact.php / toto.php a toi de voir ^^) tu peux faire un truc du style

<?php include("inc-haut.php"); ?
Ceci est un paragraphe présent dans ma cellule de tableau milieu prenant en charge un gabarit de site


<?php include("inc-bas.php"); ?>

ce qui te laisse la possibilité d'avoir des url du type http://monsite.com/index.php // monsite.com/contact.php etc...

J'espère avoir répondu a ta question.
3
shadow1779 Messages postés 706 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2013
12 mars 2010 à 12:59
Niveau sécurité, ce qui peut poser problème c'est le deface du site, c'est a dire qu'une personne mal intentionnée utilise les paramètres passés en GET pour y insérer du code malicieux.

Pour éviter cela dans un include fais un truc du style

if(isset($_GET['page']) and !empty($_GET['page'])){
include("http://monsite.com/".addslashes($_GET['page']).".php");
}

l'extension sera alors obligé d'être la bonne et le fichier sera bien un fichier php de ton site. après tu peux toujours faire un test avec is_file() mais bon dans l'absolu un utilisateur n'est pas censé bidouiller l'adresse pour voir une page, il se réfère au lien de la page ^^
3
cs_eli42 Messages postés 143 Date d'inscription mardi 24 décembre 2002 Statut Membre Dernière intervention 11 juillet 2023
10 mars 2010 à 21:42
Re,

Merci a gibozsec et shadow1779, pour vos réponses rapide

Pour ce qui est de la réponse de shadow1779, oui c'est valable la solution :

//-----
<?php include("inc-haut.php"); ?
Ceci est un paragraphe présent dans ma cellule de tableau milieu prenant en charge un gabarit de site


<?php include("inc-bas.php"); ?>
//-----
Mais ca m'oblige a mettre les bandeau Gauche et Droite sur toutes les pages que je voudrais faire afficher au milieu, je dois avoir une trentaine de pages au final, et je voulais gagner de la vitesses et de la mise a jour au minimum, donc c'est la solutions que j'opterai si je ne trouve pas d'autres solutions.

Pour ce qui est de gibozsec, je dois etudier cette technique : http://www.tonsite.com/index.php?page=visu
je pense que c'est la solution qui est adapte a la forme de mon site, par contre ca va etre chaud^, ouai PHP ce n'est pas delphi 7, mais bon je vais my mettre a fond dedans.

Sinon il y a pas plus simple (quand je dit plus simple je me comprends pour un type qui a demarrer depuis 48h) style mettre un iFrame sur le tableau du milieu et via les liens juste changer le contenu de iFrame par visu.php

Bonne continuation

Beau Temps Belle Mer

* Merci d'avance pour reponse future (gibozsec et shadow1779)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_eli42 Messages postés 143 Date d'inscription mardi 24 décembre 2002 Statut Membre Dernière intervention 11 juillet 2023
12 mars 2010 à 06:20
Bonjour a tous (tes)

n'ayant pas avancé un poil sur la technique : http://www.tonsite.com/index.php?page=visu
j'ai creer toutes mes pages comme l'index c'est a dire je recharge l'entete, le bandeau gauche, le bandeau droit et le bas,
je recharge tout car apparament du peu que j'ai lu faire un include ou un once quif quif vitesse, c'est discutable je pense.

c'est con de tout recharger mais bon si je m'entete sur afficher le contenu dans mon cadre du milieu je vais pas bien avance.

une petit dernier conseil si je peux : les pages faut il ou pas vérifier la présence physiquement, question sécurité?

Beau Temps Belle Mer
0
TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
14 mars 2010 à 12:27
Salut,

@shadow1779 :
Tu te trompes lourdement, faire un include (ou fonction de la même famille) qui se base sur une donnée utilisateur est une grave faille qui peut être exploitée malgré beaucoup de tentatives de sécurisation. Par exemple pour ta maigre tentative de sécurisation, il est possible de simplement passer comme paramètre "img/toto.png?titi=". La page inclue sera donc "http://monsite.com/img/toto.png?titi=.php", autrement dit l'image toto.png. Ce serait très bête que le site permette d'uploader des images, car des images (valides) qui contiennent du code php ça prend quelques secondes a créer, et pan exécution d'un script perso sur le site. Mettant à part ce cas, il existe bien d'autres méthodes pour passer outre une protection comme la tienne, dans tous les cas les includes de ce genre sont a bannir.

Et les utilisateurs qui bidouillent l'url pour chercher des failles, ça peut être une personne qui t'en veux personnellement, un type qui veux s'ammuser et a trouvé ton site avec une recherche google sur "page=" (génial pour trouver des cibles potentielles pour la faille d'include), etc.
0
Rejoignez-nous