Aller au menu - Aller au contenu

Include

Page dans Body ou Body dans Page ?

Pour accéder à cette section
Connectez-vous !
connexion_rpx

Résolu Le problème de ce sujet a été résolu

Offre d'emploi : Développeur Web PHP/Drupal (H/F)

Page 1 
Auteur Message
1 visiteur sur ce sujet (1 Anonyme)
Page 1 
Hors ligne Omega888 # Posté le 07/02/2012 à 17:13:01

Bonjour à tous,

J'ai étudié le Tuto de M@téo sur le PHP et je suis en train d'essayer de construire mon site perso. A la fin de la partie Include du Tuto, M@atéo explique que l'on peut faire un Include dans deux sens. Soit on créé une page qui contient tout sauf le corps et on inclut le corps. Soit on créé une page qui contient le corps et on inclut le reste (Header, Footer, ...). Mais il explique aussi : "il y a des risques de provoquer des erreurs dangereuses pour votre site".
Est ce que vous pourriez m'expliquer ce quel cela veut dire ? Le genre de risques, d'erreurs ? Comment les éviter ?
Merci par avance de vos explications et aide ...
Publicité # Posté le 07/02/2012 à 17:13:01

Hors ligne Gnomino # Posté le 07/02/2012 à 17:18:46
Oups, j'ai gaffé ...
Avatar

Je vois pas trop quelles erreurs peuvent être dangereuses .

Après, je te conseille d'ajuster tes fichiers inclus et le fichier qui include de cette façon :

Fichier inclus :
Code : PHP
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
<?php
// Ce fichier sera par exemple foot.php
if (isset($includage))
{
// Le code de l'include comme :
echo '
<!-- Pied de page -->
<div class="pied"> Copyright : Monsite </div>
</body>
</html>';
}
else
{
echo htmlentities('L\'accès à cette page est réservé à l\'inclusion !'); // Hem, j'ai pas appris les caractères HTML par coeur ^^
}
?>

Et donc bien sûr

Sur le fichier de l'include:
Code : PHP
1
2
3
<?php
$includage = "Oui"; // Tout ce qui compte c'est que la variable existe.
?>
Édité le 07/02/2012 à 17:22:06 par Gnomino

Gnomino, gaffeur, sabotteur de scripts :magicien:

Gagnez du temps grâce à mon générateur de classes PHP ;)

Cadeau pour les robots spammeurs.
 
Hors ligne simcos # Posté le 07/02/2012 à 17:22:10
Avatar

Ville : Albeuve
Pays : Suisse

alors l'avantage d'inclure le contenu dans une page contenant ta structure, c'est que ton visiteur n'aura acces qu'à une seule page de ton site : index.php.

en général on gère l'inclusion de telle ou telle page par une variable get. Mais cette méthode peut poser un soucis de securité, car en changeant la variable get de ton url, nimporte qui pourrait inclure nimporte quoi dans cette page, et efectuer des requetes sur ton site avec une page qui n'est pas la tienne.

l'autre methode est plus securisée, mais tu dois créer plusieurs pages et faire tes includes sur chaque page.

Personellement j'ai tendance à préférer la première solution et à sécuriser correctement l'include.

mais après c'est une question de préférences.

Le forum est fait pour poster vos questions. C'est pourquoi je ne répondrai à aucune question en MP. Mais je me ferai un plaisir de vous aider sur un topic du forum.

Une jeune équipe de développement Symfony2: PixyDev.fr
 
Hors ligne Omega888 # Posté le 08/02/2012 à 17:11:22

Merci pour vos réponses !
@simcos : Merci. Je comprends en effet a peu pres ce que veut dire sécuriser la variable obtenue par $_GET ...

@Gnomimo : Merci pour ton code. Je le comprends sémantiquement. Mais je ne vois à quoi ce qu'il apporte ?
Juste une condition pour faire ou ne pas faire l'include ? ou bien y a t il une dimension sécurité que je n'ai pas comprise ??

Hors ligne Gnomino # Posté le 08/02/2012 à 17:36:11
Oups, j'ai gaffé ...
Avatar

Mon code sert juste à ce qu'on accède au fichier par include et non directement :

Code : PHP
1
2
3
4
<?
$ncludage = "Ok";
include ('/includes/toninclude.php');
?>

Marchera.

Mais aller sur http://tonsite.fr/includes/toninclude.php ne marchera pas =)

Gnomino, gaffeur, sabotteur de scripts :magicien:

Gagnez du temps grâce à mon générateur de classes PHP ;)

Cadeau pour les robots spammeurs.
 
Hors ligne lunariel # Posté le 08/02/2012 à 17:57:58
Avatar

Salut,

Gnomino, je suis désolé mais ta solution n'est clairement pas la bonne.
Tu alourdis inutilement le code, alors qu'il suffit de vérifié si la page demandé fait bien partie des page à inclure.

Pour les solutions d'inclusion, simcos a bien résumé la situation.
Si tu veut en apprendre un peut plus sur les méthodes d'inclusion , dans ce tuto l'auteur aborde une des techniques possible.

De plus tu pourra en profiter pour voir comment fonctionne un modèle mvc, qui est très pratique pour faire des inclusions sécurisées comme la première méthode qu'a décrit simcos et qui te permettra d'avoir un code propre lisible et séparant les différentes couches de code (html/php/sql).

Bonne lecture.
 
Hors ligne simcos # Posté le 08/02/2012 à 20:02:08
Avatar

Ville : Albeuve
Pays : Suisse

je te conseilles moi aussi ce tuto. c'est le modèle que j'ai employé pendant longtemps. Mais si tu veux encore aller plus loin, rien ne vaut un bon framework :P.

j'espere t'avoir aidé.

Simcos

Le forum est fait pour poster vos questions. C'est pourquoi je ne répondrai à aucune question en MP. Mais je me ferai un plaisir de vous aider sur un topic du forum.

Une jeune équipe de développement Symfony2: PixyDev.fr
 
Hors ligne Omega888 # Posté le 09/02/2012 à 17:44:33

Merci à tous pour vos réponses. Je vais en effet étudier le tuto sur le MVC ... ca me fera du bien ! :-)

Retour au forum "PHP" ou à la liste des forums

Pour accéder à cette section
Connectez-vous !
connexion_rpx