Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1200 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Verif de sécurité pour mes includes et mes requetes SQL !

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Verif de sécurité pour mes includes et mes requetes SQL !

n°1810887
skog
Posté le 11-11-2008 à 18:13:44  profilanswer
 

bonjour je reviens vous demander votre aide pour savoir si mon site est bien sécurisé !
 
Voilà j'utilise les includes de type :  
 

Code :
  1. http://mon.site.com/index.php?page=news

qui inclura la page news.php
 
Et j'appel ma BDD via :
 

Code :
  1. require ($_SERVER["DOCUMENT_ROOT"].'includes/config.inc.php');
  2.                             mysql_connect($host, $username, $password);
  3.                             mysql_select_db($bdd_name);


 
Et je fait donc passer les variables via URL
 
 
 
Voici ma page index.php :
 

Code :
  1. <html>
  2. <head>
  3. </head>
  4. <body>
  5.     <div id="liste">
  6.  
  7.     <?php
  8.              
  9.               require ($_SERVER["DOCUMENT_ROOT"].'includes/config.inc.php');
  10.                             mysql_connect($host, $username, $password);
  11.                             mysql_select_db($bdd_name);
  12.      $query="SELECT * FROM liste ORDER BY id DESC";
  13.      $result=mysql_query($query);
  14.      while ($tableau_news=mysql_fetch_array($result)) {
  15.       $id=htmlspecialchars($tableau_news["id"]);
  16.       $titre=htmlspecialchars($tableau_news["titre"]);
  17.      ?>
  18.          <!-- repeat //-->
  19.          <a href="http://mon.site.com/index.php?page=<?php echo($titre); ?>"><?php echo($titre); ?></a>
  20.                             <!-- fin repeat //-->
  21.      <?php
  22.          // Ce qui donnerais par exemple comme lien :
  23.          //  news ($titre)   (dont le lien serait :  http://mon.site.com/index.php?page=news )
  24.      } // fin while
  25.      mysql_close();
  26.      ?>
  27.  
  28.     </div>
  29.  
  30.        
  31.        
  32.        
  33.        
  34.         <div id="include">
  35.  <?php
  36.  //include de la page en question via l'url :  http://mon.site.com/index.php?page=news
  37.   if ($_GET['page'] == "news" )
  38.    {
  39.     include("news.php" );
  40.    }
  41.   if ($_GET['page'] == "concert" )
  42.    {
  43.     include("contact.php" );
  44.    }
  45.      ?>   
  46.  
  47.  </div>
  48. </body>
  49. </html>


 
 
Si vous pouvez vérifier  aussi mon code sql pour voir si il n'y a pas de failles possible ça serait super !
 
Merci d'avance !


Message édité par skog le 11-11-2008 à 18:23:46
mood
Publicité
Posté le 11-11-2008 à 18:13:44  profilanswer
 

n°1810889
Profil sup​primé
Posté le 11-11-2008 à 18:23:27  answer
 

je ne vois pas de soucis de sécurité.
Si tu échappes correctement tes données (pour l'affichage et l'enregistrement) et que tu vérifies que l'inclusion de tes fichiers est correcte tu n'as pas de soucis.

n°1810890
skog
Posté le 11-11-2008 à 18:24:49  profilanswer
 

ok il n'y a aucun moyen d'insérer un lien d'un autre site dans mes includes ? où d'injecter du code sql ?

n°1810894
Profil sup​primé
Posté le 11-11-2008 à 18:29:17  answer
 

Non.
Attention : pour que l'on puisse injecter du code SQL dans ta requête il faudrait qu'elle soit construite à partir de données dépendantes du client.

n°1810895
skog
Posté le 11-11-2008 à 18:36:52  profilanswer
 

ok donc si je garde mon code comme ca, ma page, ma bdd et mon serveur seront sécurisé ?
 
Car pour l'affichage j'ai pas echappé mes données ?
 
(si on imagine que j'ai que cette page sur mon serveur + les pages à inclure^^)
 
dsl mais je suis un peu parano ^^

n°1810897
Profil sup​primé
Posté le 11-11-2008 à 18:42:47  answer
 

Regarde :
 

Code :
  1. $query="SELECT * FROM liste ORDER BY id DESC";


 
Comment veux tu que l'on injecte du code SQL ?
On ne peut pas car il n'y a aucune donnée HTTP transmissible par le client dans cette requête.
Si c'était le cas tu ferais par exemple :
 

Code :
  1. $id = (int) $_GET['id'];
  2. $user = mysql_real_escape_string($_POST['user']);
  3. $pwd = mysql_real_escape_string($_COOKIE['pwd']);
  4. $query="SELECT * FROM id=$id AND user='$user' AND pwd='$pwd' ORDER BY id DESC";


 
(requete bidon)
 
pour tes includes, pour qu'ils soient vulnérables il faudrait que tu inclus sans vérification ce qui est passé en paramètre :
 

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

n°1810902
skog
Posté le 11-11-2008 à 18:57:56  profilanswer
 

oké merci  :D  
 
je suis rassuré !


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Verif de sécurité pour mes includes et mes requetes SQL !

 

Sujets relatifs
Selection Tailles (simplifié) SQL [RESOLU][SQL] Faire ressortir une liste de donnée en fonction d'un champ
[SQL] SQL ToolsAide sur requête SQL
Communication Oracle - SQL SERVEUR[VB.Net2003-2005+SQL-Access] Commandes et Syntaxes pour travail de BDD
Alléger une requête SQL[SQL] Aide à la réalisation d'une simple requête update
Probleme de requête SQL avec Windev trier par dateSécurité java
Plus de sujets relatifs à : Verif de sécurité pour mes includes et mes requetes SQL !


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR