Vous n'êtes pas identifié(e).
Pages : 1
Re bonjour,
J'ai essayé de cette façon et CA FONCTIONNE
J'ai crée un autre fichier en php
Dans l'autre fichier, j'ai mis
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
Bonjour,
Voilà le code du fichier config.
//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
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
Par contre,
// 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
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.
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
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
Merci à vous tous.
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.
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.
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
Merci encore
Bonsoir,
Merci pour cette réponse rapide.
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 ) 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.
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.
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
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.
Pages : 1