PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 30-04-2010 21:26:02

chatomon
Membre
Inscription : 30-04-2010
Messages : 9

Sécurisation de la connexion

Bonjour à tout le monde,

Je viens de créer (enfin créer est un grand mot) un site grâce à Openauto
Disons que j'ai juste fait quelques ajouts dans les pages par tatonnement n'y connaissant pas grand chose en php.

Maintenant, je bloque un peu d'où ma question.

Je fais donc appel à Mysql pour récupérer les données.

   1. <?php
   2.
   3. // on se connecte à MySQL
   4. $db = mysql_connect('localhost', 'login', 'password');
   5.
   6. // on sélectionne la base
   7. mysql_select_db('name of base',$db);
   8.
   9. // on crée la requête SQL
  10. $sql = 'SELECT make,model FROM listings';
  11.
  12. // on envoie la requête
  13. $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
  14.
  15. // on fait une boucle qui va faire un tour pour chaque enregistrement
  16. while($data = mysql_fetch_assoc($req))
  17.     {
  18.     // on affiche les informations de l'enregistrement en cours
  19.     echo '<b>'.$data['make'].' '.$data['model'].'</b></br>';
  20.     }
  21.
  22. // on ferme la connexion à mysql
  23. mysql_close();
  24. ?>

Voilà ce que j'ai fait.  Ca fonctionne, la base mysql est bien connectée, j'ai les infos qui s'affichent.
Par contre, j'ai voulu me baser sur ce qui avait été programmé à l'origine

   1. <?php
   2.
   3. // on se connecte à MySQL
   4. $db = mysql_connect($dbhost,$dbuser,$dbpass);
   5.
   6. // on sélectionne la base
   7. mysql_select_db($dbname,$db);
   8.
   9. // on crée la requête SQL
  10. $sql = 'SELECT make,model FROM listings';
  11.
  12. // on envoie la requête
  13. $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
  14.
  15. // on fait une boucle qui va faire un tour pour chaque enregistrement
  16. while($data = mysql_fetch_assoc($req))
  17.     {
  18.     // on affiche les informations de l'enregistrement en cours
  19.     echo '<b>'.$data['make'].' '.$data['model'].'</b></br>';
  20.     }
  21.
  22. // on ferme la connexion à mysql
  23. mysql_close();
  24. ?>

Ca fonctionne pas.

En fait, j'y connais pas grand chose en language internet mais j'en déduis que la ligne

$db = mysql_connect($dbhost,$dbuser,$dbpass);

fait appel à des infos qui sont dans un autre fichier. 

Je ne comprends pas pourquoi ça fonctionne pas.

De plus, j'ai trouvé le fichier avec $dbhost,$dbuser et $dbpass et les données qui correspondent ne sont pas du tout les bonnes valeurs pour se connecter à la base mysql.

Pouvez vous m'expliquer comment fonctionne le principe de sécurisation d'une connexion mysql et où sont stockées les données qui correspondent au bon login et mot de passe.

Merci d'avance pour votre aide.

Hors ligne

#2 30-04-2010 21:48:53

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : Sécurisation de la connexion

Si ton fichier est inclut avant ton code de connexion et qu'il définit les variables comme suit :

$dbhost = "localhost";
$dbuser = "login";
$dbpassword = "password";
$dbname = "name of base";

Il n'y a à priori pas de problème à la connexion.

Dis nous l'erreur affichée on pourra mieux te guider vers la solution.

Hors ligne

#3 30-04-2010 22:04:03

chatomon
Membre
Inscription : 30-04-2010
Messages : 9

Re : Sécurisation de la connexion

Bonsoir,

Merci pour cette réponse rapide.

Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'chatomon'@'localhost' (using password: NO) in /home/chatomon/public_html/smiley-auto.fr/excel.php  on line 17

Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in /home/chatomon/public_html/smiley-auto.fr/excel.php on line 20

Warning: mysql_query() [function.mysql-query]: Access denied for user 'chatomon'@'localhost' (using password: NO) in /home/chatomon/public_html/smiley-auto.fr/excel.php on line 26

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/chatomon/public_html/smiley-auto.fr/excel.php on line 26
Erreur SQL !

Voilà le message d'erreur.


En fait, ce que j'essaie surtout de comprendre (j'suis têtu wink )  c'est comment fonctionne la connexion à la base mysql vu que j'ai beau faire une recherche dans tous les fichiers du site, je ne trouve nulle part le login et le mot de passe que j'ai paramétré lors de l'install du site chez mon hébergeur. 
Le site fonctionne très bien, la communication avec les base est bonne mais je ne comprends pas où sont les login et mot de passe.

Effectivement xTG, aucun problème dans le premier code.  Pour moi ça peut rester comme ça mais niveau sécurité ?  N'y a t il pas un risque de laisser login et mot de passe dans le même fichier ?

Merci pour ton aide.

Dernière modification par chatomon (30-04-2010 22:04:29)

Hors ligne

#4 30-04-2010 22:35:05

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : Sécurisation de la connexion

A priori oui c'est une erreur des identifiants.
Pour ce qui est de la sécurisation des identifiants je ne saurais t'en dire plus.
Je ne connais rien sur ce domaine. Peut être que d'autres t'en diront plus d'ici demain.

Cependant on peut toujours sécuriser en masquant les erreurs de connexion (serveur sql offline ou autre qui afficherait ce message d'erreur et donc des informations qui n'ont pas lieu de circuler) comme suit :

mysql_connect('serveur','login','pass') or die('Erreur de Connexion');

En cas d'erreur seul le message d'erreur paramétré sera affiché et la page arrêtera de se charger.

Pour tes identifiants contactes le support de ton hébergeur. M'enfin ils doivent bien être quelque part si l'un de tes codes fonctionne.

Dernière modification par xTG (30-04-2010 22:35:59)

Hors ligne

#5 30-04-2010 22:45:24

chatomon
Membre
Inscription : 30-04-2010
Messages : 9

Re : Sécurisation de la connexion

Merci à toi xTG pour ces réponses nocturnes.

Je connais les identifiants vu que c'est moi qui les ai crée.  J'ai accès par l'admin de mon hébergeur à toutes ces données.

J'attends demain avec impatience wink

Merci encore

Hors ligne

#6 30-04-2010 22:53:13

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : Sécurisation de la connexion

Bonsoir

Alors dans le code fournit par xtg qui doit se situer dans ton include/require de page remplace les valeurs correspondantes par les tiennes manuellement.
Pour sécuriser ce fichier/ton site par rapport à ce fichier, ce que tu doit faire :
1) Le placer dans un répertoire hors de l'arborescence et y accèder dans ton code (uniquement fichier .php) via un chemin relatif exclusivement.
2) Faire un chmod dessus en 444.
3) configurer ton serveur sur un retour systematique d'erreur http 404 sur une page non trouvée (sinon accès à l'arborescence et donc aux fichiers) et si tu ne sais pas le faire ou peut pas le faire, place un fichier index.html avec une redirection dessus sur ta page de démarrage du site.
4) optionnel : protéger l'accès au répertoire par un mot de passe

Dernière modification par Jc (30-04-2010 22:55:19)


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

#7 01-05-2010 10:37:50

chatomon
Membre
Inscription : 30-04-2010
Messages : 9

Re : Sécurisation de la connexion

Jc a écrit :

Bonsoir

Alors dans le code fournit par xtg qui doit se situer dans ton include/require de page remplace les valeurs correspondantes par les tiennes manuellement.
Pour sécuriser ce fichier/ton site par rapport à ce fichier, ce que tu doit faire :
1) Le placer dans un répertoire hors de l'arborescence et y accèder dans ton code (uniquement fichier .php) via un chemin relatif exclusivement.
2) Faire un chmod dessus en 444.
3) configurer ton serveur sur un retour systematique d'erreur http 404 sur une page non trouvée (sinon accès à l'arborescence et donc aux fichiers) et si tu ne sais pas le faire ou peut pas le faire, place un fichier index.html avec une redirection dessus sur ta page de démarrage du site.
4) optionnel : protéger l'accès au répertoire par un mot de passe

Bonjour,

Merci pour ta réponse.  Comme cela reste très compliqué moi moi, j'avoue ne pas avoir tout compris.

1) Le placer dans un répertoire hors de l'arborescence et y accèder dans ton code (uniquement fichier .php) via un chemin relatif exclusivement.

Mon site est dans le répertoire public_html/monsite    Je place donc le fichier crée à la base du site ?  C'est quoi un chemin relatif ???

3) configurer ton serveur sur un retour systematique d'erreur http 404 sur une page non trouvée (sinon accès à l'arborescence et donc aux fichiers) et si tu ne sais pas le faire ou peut pas le faire, place un fichier index.html avec une redirection dessus sur ta page de démarrage du site.

Là je comprends rien de rien excepté que le but est que si un utilisateur trouve le nom de fichier, il n'y ai pas accès.  Comment peut on configurer le serveur en ce sens ?

4) optionnel : protéger l'accès au répertoire par un mot de passe

Tu me proposes .htacces ???


Merci pour aide et tes réponses.

Hors ligne

#8 01-05-2010 11:29:52

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : Sécurisation de la connexion

Bonjour

Alors, concernant le 1)

- Si ton site est dans public_html/monsite avec la structure suivante public_html/monsite/rep1 , public_html/monsite/rep2 , etc... le placer hors arborescence signifie le mettre par ex ici : public_html/config/config.php   

- Ensuite concernant le chemin relatif voici un exemple pour t'aider à comprendre: Imaginons que tu as ton fichier include qui s'appele start.php et qui est placé dans public_html/monsite/start.php.
Voici comment ton fichier start.php devra appeler ton fichier config.php

Fichier start.php
include("../config/config.php"); // chemin relatif : A utiliser
include("http://www.monsite.fr/config/config.php"); // chemin absolu

De plus si tu travailles en https, sache qu'il faut utiliser exclusivement les appels par chemin relatif pour garder l'encryption sur les fichiers appelé et donc pour préserver le mode protégé, sinon lors du chargement de ta page tu auras un message de ton navigateur du style, "Votre page tente de charger des éléments non sécurisés dans une page sécurisée. Cliquez sur oui pour continuer ou sur non pour ne pas charger ces éléments". (me souviens plus du message exact^^)

Concernant le 3)

- imaginons que dans un répertoire de ton arborescence tu es uniquement les fichiers suivants: 1.php, 2.php, et 3.php (juste pour l'exemple). Si ton répertoire n'est pas protégé par un fichier index ou via ton serveur par une redirection de type 404 (beaucoup mieux) et qu'un utilisateur mal intentionné entre une page blabla.php dans son navigateur dans ce même répertoire, vu que le fichier n'existe pas, ton navigateur affichera l'arborescence de ton répertoire et montrera toute l'arborescence. Suffira alors a l'internaute de cliquer sur le fichier de son choix pour en lire le contenu.
Demande à ton hebergeur comment configurer une redirection de type 404 par défaut sur ton site.

Concernant le 4)

- Cela corresponds effectivement à mettre un fichier .htaccess dans le répertoire concerné. J'en ai parlé d'une manière optionnel car parfois cela peut poser un problème dans le sens ou ton code à l'éxécution peut te demander le mot de passe, ce qui faut éviter dans une éxécution de code censée être transparente pour l'utilisateur.


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

#9 01-05-2010 11:50:00

ManicoW
Cowrespondant
Lieu : Tours
Inscription : 08-05-2009
Messages : 192
Site Web

Re : Sécurisation de la connexion

Jc a écrit :

De plus si tu travailles en https, sache qu'il faut utiliser exclusivement les appels par chemin relatif pour garder l'encryption sur les fichiers appelé et donc pour préserver le mode protégé, sinon lors du chargement de ta page tu auras un message de ton navigateur du style, "Votre page tente de charger des éléments non sécurisés dans une page sécurisée. Cliquez sur oui pour continuer ou sur non pour ne pas charger ces éléments". (me souviens plus du message exact^^)

Faux. Il faut juste que les éléments spécifiés en absolus soient aussi en https (et avec le meme certificat, donc meme domaine). Un <img src="https://www.site.tld/images/monimage.jpg"> fonctionne aussi bien qu'un <img src="images/monimage.jpg">, en gros. Il faut donc juste être cohérent, dans un environnement https, tout appel a d'autres fichiers dans la page doit etre https (et en relatif, c'est https).

Jc a écrit :

Concernant le 3)
- imaginons que dans un répertoire de ton arborescence tu es uniquement les fichiers suivants: 1.php, 2.php, et 3.php (juste pour l'exemple). Si ton répertoire n'est pas protégé par un fichier index ou via ton serveur par une redirection de type 404 (beaucoup mieux) et qu'un utilisateur mal intentionné entre une page blabla.php dans son navigateur dans ce même répertoire, vu que le fichier n'existe pas, ton navigateur affichera l'arborescence de ton répertoire et montrera toute l'arborescence. Suffira alors a l'internaute de cliquer sur le fichier de son choix pour en lire le contenu.

Faux. Il clique sur le fichier, il n'aura pas le contenu du fichier, mais le resultat de son interprétation (en partant de l'hypothèse que l'extension est bien .php). Il ne vois le contenu que si le fichier n'est pas lié a un interpréteur par defaut (c'est pour ca que nommer un fichier d'include config.inc.php est mieux que config.php , dans ce cas). Reste que desactiver le listing de directory, ou avoir une erreur 404 par defaut, c'est plus propre. Et ca peut souvent se faire via un .htaccess (Options -indexes ou directive ErrorDocument )

Jc a écrit :

Concernant le 4)
- Cela corresponds effectivement à mettre un fichier .htaccess dans le répertoire concerné. J'en ai parlé d'une manière optionnel car parfois cela peut poser un problème dans le sens ou ton code à l'éxécution peut te demander le mot de passe, ce qui faut éviter dans une éxécution de code censée être transparente pour l'utilisateur.

La encore, complétement faux. Tu ne fait pas la distinction entre appel http et appel par le système de fichier, et c'est fondamental en sécurité.

Le script php qui fait un include passe par le système de fichier, pas par un appel http (a moins de faire un include en http, mais la c'est con, surtout pour un truc local). Apache n'a donc rien a faire dans l'inclusion du fichier, et le .htaccess est le cadet des soucis dans ce cas. D'ailleurs comment tu pourrais faire un include dans un repertoire qui est en dehors de l'arborescence web sinon ? smile

Certains scripts ont d'ailleurs des .htaccess en deny from all dans les repertoires d'includes, et ca ne pose aucun problème.

Enfin, en ce qui concerne le fait de mettre le fichier de conf en dehors de l'arborescence web, il ne faut pas oublier que cela n'empeche que son eventuel accès direct (et comme vu ci dessus, il y a bien d'autre moyen de l'empecher et cela ne fait pas beaucoup de degats si il est en .php), cela n'empeche pas son accès tout court. Si il y a une faille de sécurité dans un script sur le site, il reste toujours possible d'inclure ce fichier, voir selon la configuration du serveur de le lire a coup de fopen.

Mais de toute facon, dès qu'il est inclus, quand il y a une faille de sécurité on peut savoir ce qu'il contient, des fonctions php permettent de voir toutes les variables et toutes les constantes.

En résumé, la sécurité ce n'est pas un cadenas sur la poignée de la fenetre et laisser la porte grande ouverte. C'est un tout, et il faut la réfléchir globalement.

@+


la v2, c'est tabou, on en viendra tous a bout

Hors ligne

#10 01-05-2010 11:50:09

chatomon
Membre
Inscription : 30-04-2010
Messages : 9

Re : Sécurisation de la connexion

Wawww merci beaucoup beaucoup pour toutes ces explications.

1) J'avais compris pour le chemin relatif ou absolu mais je ne savais pas que cela s'appelait comme ça.  J'ai vu ce genre de ligne un peu partout sur mon site.  Avec une explication, c'est plus clair.

C'est pas du https

3) Le type 404 est activé, j'ai essayé blabla.php ou nimportequoi.php et ça me redirige vers une erreur 404.  Ca doit être d'office prévu comme ça chez l'hébergeur.

4) J'ai prévu de faire un.htaccess dans toute la partie admin.

Merci encore.  Je vais essayer de tester tout cela dans la soirée.

Hors ligne

#11 01-05-2010 11:56:31

chatomon
Membre
Inscription : 30-04-2010
Messages : 9

Re : Sécurisation de la connexion

ManicoW : Nos messages se sont croisés. 
Alors, à la lecture de ton message, je comprends rien de rien.  Faudra que je relise à tête reposée. 

Je suppose que le débat est fort intéressant mais n'ayant pas d'avis sur la question, j'y prendrai pas part wink

En fait, ma question est venue par rapport au principe de sécurité et aussi afin de ne pas "foutre en l'air" le travail fait par d'autre (les auteur de ce script)

Allez je mets mes lunettes, ventile le cerveaux et je relis tout ça wink

Merci à vous tous.

Hors ligne

#12 01-05-2010 13:38:20

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : Sécurisation de la connexion

Donc merci ManicoW pour toutes ces explications, je l'ai mérité. C'étaient des recommendations pour un débutant pour éviter les erreurs, car ce sont celles que l'on recontre le plus souvent. D'ailleurs le fait que chatomon ne comprenne pas tes explications illustre bien ce que je voulais éviter. Ceci dit le mode d'ecriture se faisant quasiment toujours en mode relatif par défaut, l'exception se fait toujours quasiment à 99% dans l'autre sens c'est à dire en link d'une image en mode absolu http (le plus souvent).
Concernant le 4) je n'ai pas parlé d'include hein^^ mais comme c'était le contexte, j'avoue que ça ne le fait pas du tout. Donc désolé, et par conséquent, chatomon, quand tu décides de protéger un répertoire en .htaccess, assures toi que tout ce que tu places dedans ne sera pas accédé via http à un moment où un autre dans ton code.^^

Merci Manicow de m'avoir recadré^^^.

Dernière modification par Jc (01-05-2010 13:48:21)


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

#13 01-05-2010 22:40:53

chatomon
Membre
Inscription : 30-04-2010
Messages : 9

Re : Sécurisation de la connexion

Bonsoir à vous,

J'ai compris mon erreur.  En fait je me basais sur les fichiers sur mon disque dur et non sur ceux de l'hébergeur.  J'ai donc trouvé le fichier qui abritait les bons logins et mot de passe. Une chose en moins wink

Par contre,

<?php

// on se connecte à MySQL
$db = mysql_connect('localhost', 'chatomon_login', 'chatomon_mdp');

// on sélectionne la base
mysql_select_db('chatomon_base',$db);

// on crée la requête SQL
$sql = 'SELECT make,model,vehicle_type,mileage,year,trans,price,features FROM listings ORDER BY make';

// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_assoc($req))
    {
    // on affiche les informations de l'enregistrement en cours
   ?>
   <tr>
  <td><?php echo ''.$data['make'].' </br>'; ?></td>
    <td><?php echo ''.$data['model'].' </br>'; ?></td>
    <td><?php echo ''.$data['vehicle_type'].' </br>'; ?></td>
    <td><?php echo ''.$data['year'].' </br>'; ?></td>
    <td><?php echo ''.$data['mileage'].' </br>'; ?></td>
    <td><?php echo ''.$data['trans'].' </br>'; ?></td>
    <td><?php echo ''.$data['price'].' </br>'; ?></td>
    <td><?php echo ''.$data['features'].' </br>'; ?></td>
 
 
<?php
    }
// on ferme la connexion à mysql
mysql_close();
?>

Quand j'emploie ce code, ça fonctionne j'ai les infos que je veux.

Par contre, dès que je fais

<?php

 include '../Includes/configs/lesloginsetmotdepasse.php';
 
// on sélectionne la base
mysql_select_db($dbname,$db);

// on crée la requête SQL
$sql = 'SELECT make,model,vehicle_type,mileage,year,trans,price,features FROM listings';

// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_assoc($req))
    {
    // on affiche les informations de l'enregistrement en cours
   ?>
   <tr>
  <td><?php echo ''.$data['make'].' </br>'; ?></td>
    <td><?php echo ''.$data['model'].' </br>'; ?></td>
    <td><?php echo ''.$data['vehicle_type'].' </br>'; ?></td>
    <td><?php echo ''.$data['year'].' </br>'; ?></td>
    <td><?php echo ''.$data['mileage'].' </br>'; ?></td>
    <td><?php echo ''.$data['trans'].' </br>'; ?></td>
    <td><?php echo ''.$data['price'].' </br>'; ?></td>
    <td><?php echo ''.$data['features'].' </br>'; ?></td>
 
 
<?php
    }
// on ferme la connexion à mysql
mysql_close();
?>

Ca ne fonctionne pas du tout.  Il ne se connecte pas et j'ai que des erreurs ou alors il se connecte mais pas à la bonne base de données (J'ai 3 bases chez mon hébergeur et il prend une autre)

Merci pour votre aide.

Hors ligne

#14 02-05-2010 08:50:50

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : Sécurisation de la connexion

Est-ce que ton fichier de config fait ceci :
$db = mysql_connect('localhost', 'chatomon_login', 'chatomon_mdp');

Car dans ton code je ne vois qu'une sélection de bdd sans aucune connexion.

Hors ligne

#15 02-05-2010 10:54:25

chatomon
Membre
Inscription : 30-04-2010
Messages : 9

Re : Sécurisation de la connexion

Bonjour,

Voilà le code du fichier config.

//set local variables
$dbtype = "MySQL"; //choose db type you want to connect to use MySQL, MySQLi or PostGreSQL as examples
$dbhost = "localhost";
$dbuser = "chatomon_login";
$dbpass = "motdepasse";
$dbname = "chatomon_base";

//connection error messages used for database user and password or type failures
DEFINE("DATABASE_CONNECTION_ERROR","<h1>Fatal Error:</h1><p>Unable to connect to the database at this time.</p>");
DEFINE("DATABASE_LOCATION_ERROR","<h1>Fatal Error:</h1><p>Unable to locate the database at this time.</p>");
DEFINE("DATABASE_EMPTY_ERROR","<h1>Fatal Error:</h1><p>Unable to locate data it appears your database is empty.</p>");
DEFINE("DATABASE_UNSUPPORTED_DATABASE_TYPE_ERROR","<h1>Fatal Error:</h1><p>Your server does not support access to a $dbtype Database.</p>");
//debug message used when debugging is turn on or off
DEFINE("DEBUG_SQL_TURN_OFF_VERBOSE_MESSAGE","<h1>Fatal Error:</h1><p>There was an error somewhere in your script.</p>");

//choose the right connector to setup
switch($dbtype) {
  //connect to MySQL
  case 'MySQL':
    if (function_exists('mysql_connect')) {
      include_once "db.functions.$dbtype.php";
    }  else {
      die(DATABASE_UNSUPPORTED_DATABASE_TYPE_ERROR);
      exit();
    }
    break;
  //connect to MySQLi
  case 'MySQLi':
    if (function_exists('mysqli_connect')) {
      include_once "db.functions.$dbtype.php";
    }  else {
      die(DATABASE_UNSUPPORTED_DATABASE_TYPE_ERROR);
      exit();
    }
    break;
  //connect to PostGreSQL remapper functions are broken
  case 'PostGreSQL':
    //add some code for postgresql later
    if (function_exists('pg_pconnect')) {
      include_once "db.functions.$dbtype.php";
    }  else {
      die(DATABASE_UNSUPPORTED_DATABASE_TYPE_ERROR);
      exit();
    }
    break;
  default:
    die(DATABASE_LOCATION_ERROR);
    break;
}
?>

J'y comprends rien sad

Hors ligne

#16 02-05-2010 11:11:11

chatomon
Membre
Inscription : 30-04-2010
Messages : 9

Re : Sécurisation de la connexion

Re bonjour,

J'ai essayé de cette façon et CA FONCTIONNE

J'ai crée un autre fichier en php

#
//set local variables
#
$dbtype = "MySQL"; //choose db type you want to connect to use MySQL, MySQLi or PostGreSQL as examples
#
$dbhost = "localhost";
#
$dbuser = "chatomon_login";
#
$dbpass = "motdepasse";
#
$dbname = "chatomon_base";

Dans l'autre fichier, j'ai mis

<?php

include '../Includes/configs/conect.php';

// on se connecte à MySQL
$db = mysql_connect($dbhost,$dbuser,$dbpass);

// on sélectionne la base
mysql_select_db($dbname,$db);

// on crée la requête SQL
$sql = 'SELECT make,model,vehicle_type,mileage,year,trans,price,features FROM listings ORDER BY make';

// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_assoc($req))
    {
    // on affiche les informations de l'enregistrement en cours
   ?>
   <tr>
  <td><?php echo ''.$data['make'].' </br>'; ?></td>
    <td><?php echo ''.$data['model'].' </br>'; ?></td>
    <td><?php echo ''.$data['vehicle_type'].' </br>'; ?></td>
    <td><?php echo ''.$data['year'].' </br>'; ?></td>
    <td><?php echo ''.$data['mileage'].' </br>'; ?></td>
    <td><?php echo ''.$data['trans'].' </br>'; ?></td>
    <td><?php echo ''.$data['price'].' </br>'; ?></td>
    <td><?php echo ''.$data['features'].' </br>'; ?></td>
 
 
<?php
    }
// on ferme la connexion à mysql
mysql_close();
?>

C'est nickel. 

J'espère que point de vue sécurité, ça tient le choc.  J'ai également testé en indiquant l'adresse du fichier config dans mon navigateur et j'ai une erreur 404

Merci pour vos avis et réponses wink

Hors ligne

Pied de page des forums