includes et securite

includes et securite - PHP - Programmation

Marsh Posté le 01-12-2004 à 15:52:37    

bonjour !
j' ai cru comprendre que l'utilisation des includes etait tres tres insecurisée  :(  
donc j'aimerais savoir si mettre :

Code :
  1. if ($_GET['page']=='page1')
  2. include('contenu.php');


a la place de :

Code :
  1. include('contenu.php');


etait la solution pour resoudre cette failles?
si non (on ne se moque pas)... merci de me conseiller


Message édité par attentio le 24-03-2005 à 20:51:22

---------------
L'ordinateur a de la mémoire mais aucun souvenir ...
Reply

Marsh Posté le 01-12-2004 à 15:52:37   

Reply

Marsh Posté le 01-12-2004 à 15:54:37    

ca sécurise rien du tout ca :o
 
à part verifier que la page existe, t'as aucune notion de droit d'access ou quoi que ce soit, ca permet juste au truc d'etre plus propre.
 
le mieux serait de securisé les page individuellement

Reply

Marsh Posté le 01-12-2004 à 15:57:53    

chacal_one333 a écrit :


le mieux serait de securisé les page individuellement


cad ???? comment tu fais?
l'utilisation de fichiers htaccess??

Reply

Marsh Posté le 01-12-2004 à 15:58:13    

En ce qui me concerne je vois pas le trou de sécu dans

Code :
  1. include ('truc.php');


 
C'est grave docteur? [:opus dei]


Message édité par skeye le 01-12-2004 à 15:58:29

---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 01-12-2004 à 16:01:54    

ben je sais pas trop?
je viens de voir ca, a l'instant sur :http://www.siteduzero.com/php/includes.php


Message édité par attentio le 01-12-2004 à 16:02:25
Reply

Marsh Posté le 01-12-2004 à 16:04:17    

attentio a écrit :

ben je sais pas trop?
je viens de voir ca, a l'instant sur :http://www.siteduzero.com/php/includes.php


Euh oui mais non c'est pas include qui est dangereux là, c'est le passage de la page php à afficher dans l'url...:o
Faire un include d'une page dont tu n'as pas contrôlé l'origine, forcément c'est dangereux. Faire un simple include('mascriptamoi.php') ne présente pas de risque.


Message édité par skeye le 01-12-2004 à 16:05:28

---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 01-12-2004 à 16:08:05    

En bref, ce qui est plus sûr en reprenant ton exemple c'est  

Code :
  1. if ($_GET['page']=='page1')
  2. include('contenu.php');


 
à la place de  

Code :
  1. include($_GET['page']);


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 01-12-2004 à 16:15:45    

skeye a écrit :

c'est pas include qui est dangereux là, c'est le passage de la page php à afficher dans l'url...


t'es sur de ce que tu dis?
... je viens de tomber sur http://frederic.bouchery.free.fr/? [...] reOuFelure :pt1cable:  :pt1cable:  :pt1cable:  :pt1cable:  
ca m'a l'air barbare

Reply

Marsh Posté le 01-12-2004 à 16:17:22    

attentio a écrit :


Code :
  1. if ($_GET['page']=='page1')
  2. include('contenu.php');




C'est a moitié sécurisé. C'est vrai que ca empéche de demander une page sur un autre site mais ca n'empéche personne d'accéder à la page "contenu.php". Il suffit juste qu'ils sachent qu'il faut initialiser la variable à "page1".

attentio a écrit :


Code :
  1. include('contenu.php');


etait la solution pour resoudre cette failles?
si non (on ne se moque pas)... merci de me conseiller


Là, ils auront droit à cette page à chaque fois.
C'est la seule différence par rapport à avant.
 
 
Par contre :

Code :
  1. include($_GET['page']);


N'est absolument pas sécurisé, il suffirait que la personne demande une page situé à une adresse commencant par ftp:// ou http:// pour que tu ne soit plus du tout maitre de ce qui sera envoyé au navigateur.
Pire : s'ils demandent par exemple /etc/rc.conf sur un poste freebsd, il saura quels sont les services réseaux et les cartes réseau de l'ordi qui héberge ton site web. (si le site web à les droits d'accés sufisant)
Pire que ça, en demandant d'autres fichiers, il peut conaitre les logins de tous les utilisateurs de l'ordi et la version codé des mots de passes, (ce qui permet de trouver des mots de passe corespondant et ce sans être détecté par le serveur) les réglages du firewall, les différents réglages des systémes de login activé et des partages de fichiers ... Bref, il a potentiellement accés en lecture à tous les fichiers de ton serveur ce qui fait qu'a part si il y a que le serveur web d'ouvert vers l'extérieur et que le serveur web ne permet pas de modifier des fichiers, il poura faire ce qu'il veut de ton serveur.
 
 
Si tu veux limiter l'accés à une certaine page de ton site en plus du  

Code :
  1. if ($_GET['page']=='page1')
  2. include('contenu.php');


il te faudra utiliser un systéme de login/mot de passe.

Reply

Marsh Posté le 01-12-2004 à 16:17:27    

attentio a écrit :

t'es sur de ce que tu dis?
... je viens de tomber sur http://frederic.bouchery.free.fr/? [...] reOuFelure :pt1cable:  :pt1cable:  :pt1cable:  :pt1cable:  
ca m'a l'air barbare


bah oui, c'est ce qui y est expliqué...


---------------
Can't buy what I want because it's free -
Reply

Sujets relatifs:

Leave a Replay

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