NHenry
Messages postés15102Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention27 mars 2024159 25 déc. 2016 à 12:33
L'usage de mysql_escape_string permet d'échapper les caractères qui pourraient permettre une injection SQL.
A part cela, la source commence à dater et il y a au moins 2 points qu'il faudrait améliorer :
- L'usage de mpd en MD5 (qui plus est non salés) est désormais fortement déconseillé
- L'usage de l'extension mysql est vivement déconseillée, car celle-ci disparait dès PHP7.
bonjour problème de sécurité dans ton script
exécute une requête non préparé ! en $_post[] très dangereux moi je vois déjà comment te pirater la base de donnée avec une injection SQL la je peux récupe tous les mots de passe ton code est à revoir.
$sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass_md5="'.mysql_escape_string(md5($_POST['pass'])).'"';
cs_bonhommecrea
Messages postés44Date d'inscriptiondimanche 14 mars 2010StatutMembreDernière intervention13 mars 2011 18 juin 2011 à 11:23
Tu est censé avoir un hébergeur équipé de PHP, qui dit php dit base de donnée.
Le système de gestion de base de donnée le plus connus est PhpMyAdmin.
Si tu utilise Wamp server (un programme qui te permet de tester des script php en local), c'est
http://localhost/phpMyAdmin.
alexlapatate
Messages postés4Date d'inscriptionmercredi 15 juin 2011StatutMembreDernière intervention15 juin 2011 15 juin 2011 à 20:03
Je comprends pas quand tu dis vas dans le phpmyadmin de ton hébergeur .. ^^'
cs_bonhommecrea
Messages postés44Date d'inscriptiondimanche 14 mars 2010StatutMembreDernière intervention13 mars 2011 15 juin 2011 à 18:45
tu va dans le phpmyadmin de ton hébergeur, tu sélectionne la base de donnée voulue (généralement il n'y en a qu'une) puis tu va dans l'onglet "importer" et normalement la on devrai te dire comment faire.
alexlapatate
Messages postés4Date d'inscriptionmercredi 15 juin 2011StatutMembreDernière intervention15 juin 2011 15 juin 2011 à 17:19
Bonjour, tout d'abord je voudrai te féliciter pour la page espace membres que tu as créée, elle à l'air vraiment génial mais cependant, je suis un GROS débutant dans la création de site. Et je ne comprends pas quand tu dis importer le fichier membres.sql dans votre base de donnée.
Peux tu m'expliquer comment il faut l'importer? lol
Merci.
cs_bonhommecrea
Messages postés44Date d'inscriptiondimanche 14 mars 2010StatutMembreDernière intervention13 mars 2011 5 nov. 2010 à 10:52
@PQOI : Plus de problème avec la nouvelle version,
- Utilisation (très) simple de la variable USERNAME. (affiche le pseudo de l'utilisateur qui la lis, si Visiteur USERNAME == Invité)
pqoi
Messages postés5Date d'inscriptionsamedi 17 avril 2010StatutMembreDernière intervention25 juin 2010 27 sept. 2010 à 20:22
Tout va bien sauf un truc, le profil ne se crée pas, j'obtiens plusieurs erreurs.
cs_bonhommecrea
Messages postés44Date d'inscriptiondimanche 14 mars 2010StatutMembreDernière intervention13 mars 2011 21 sept. 2010 à 19:06
@emilia123 => Merci du conseil ^^, dès que j'ai un peu plus de temps, j'ouvre notepad++ et je modifie ma source ^^
@RanZ0x => que tu préfère ton script, ok, mais que tu insulte un travail de débutant, je ne l'accepte pas ..
@Shiron => les grand esprit se rencontre ;D (lool :D)
tempusus
Messages postés358Date d'inscriptiondimanche 8 février 2004StatutMembreDernière intervention 9 octobre 20171 21 sept. 2010 à 08:44
Ranzox: Ce genre de commentaire n'a pas lieu d'être! Merci de respecter le travail des autres comme eux respectent le tien.
cs_Shiron
Messages postés8Date d'inscriptionlundi 28 mai 2007StatutMembreDernière intervention29 septembre 2010 21 sept. 2010 à 06:46
J'aimerais non seulement demander à RamZ0x de respecter les données inscrite par un débutant novice, s'il débute ce n'est pas une raison pour manquer de respect à son travail. Doit-je vous rappeler le règlement de bonne conduite ?
Je voudrais aussi souligner mes encouragements au créateur du script, même si j'ai eu l'occasion d'avoir prêté oreille à de la concurrence, mes codes se rapprochent intimement à ceux d'inscrits ici.
Bonne chance !
RanZ0x
Messages postés18Date d'inscriptionvendredi 4 avril 2008StatutMembreDernière intervention20 juin 2010 21 sept. 2010 à 03:36
c'est caca je préfére mon script de débutant
cs_emilia123
Messages postés122Date d'inscriptionmercredi 19 décembre 2001StatutMembreDernière intervention 5 janvier 2009 20 sept. 2010 à 09:09
bonjour,
> Un petite remarque sur "mysql_escape_string". Cette fonction ne doit plus etre utilisée (deprecated), elle doit etre remplacée par la fonction "mysql-real-escape-string"
> Ensuite, il est préférable d'éviter les redirections en javascript (dans la page connexion.php), il vaut mieux faire une redirection php par "header(...)"
> Aussi, dans ta page membre.php si l'internaute n'est pas identifié (ex perte de session du à inactivité) tu fais une redirection vers la page index.php, mais cette page n'existe pas.
> enfin, comme dit plus haut, essaye de faire une sorte de fichier de configuration qui fasse tout ce qui est nécessaire en une seule fois, c'est à dire :
- gestion des identifiants mysql
- connexion à la base de données
ca pourrait meme faire la verification de la connexion.
ensuite tu inclurais ce fichier juste apres la déclaration d'une variable pour savoir si faut faire ou pas la vérification.
ex
<?php
//si tu oubli de mettre, ou si tu ne met pas si, alors identification demandee
$authentification_non_requise=0;
//inclusion du fichier de configuration
include(configuration.php);
// a partir d ici, tu sais que ta base de donne est connecte, et que l'utilisateur est identifie, tu n'as plus a gerer ca.
....
?>
et dans configuration.php
<?php
//declaration des variables
$sqlhost='....';
$sqlbase='....';
$sqllogin='....';
$sqlpass='....';
//connexion a la base
$base = mysql_connect ($sqlhost, $sqllogin, $sqlpass);
//ajoute ici le traitement des erreurs de mysql_connect
mysql_select_db ($sqlbase, $base);
//ajoute ici le traitement des erreurs de mysql_select_db
//necessite de l identification?
if (!isset($authentification_non_requise) || ((int)$authentification_non_requise!==1)){
// tu fais ici tout ce qui est necessaire lors de la verification de l utilisateur
}
?>
Cordialement
EM.
cs_bonhommecrea
Messages postés44Date d'inscriptiondimanche 14 mars 2010StatutMembreDernière intervention13 mars 2011 16 sept. 2010 à 18:11
"Quelques maladresses relevées comme des fermetures immédiatement suivies de réouverture de balises PHP."
cette 'Erreur' à été faites pendant que je créais cet espace membre pour m'y retrouver, je l'enlève dès la prochaine mise à jour ^^
__________
"Dans plusieurs scripts on retrouve la connexion à la base de données avec passage des paramètres qui vont bien. Imagine un gros projet avec plusieurs centaines de pages, te vois-tu devoir modifier chaque script parce que le mot de passe a changé, parce que la base de données ne serait plus MySql ? non, évidemment. Pour éviter ces désagréments, il serait bon d'isoler cette partie dans un script dédié à cela et appelé par chaque page qui en a besoin."
dès que je trouve comment inclure un fichier php, je le fait (je suis un peu débutant ^^").
mais c'est vrai que ce serait embêtant..
__________
"A structurer aussi : si chaque page qui a besoin que l'utilisateur soit authentifié doit comporter le code de vérification des login et mots de passe, ça devient vite ingérable et brouillon.
Enfin, on trouve trop de redondances de code qui font penser à l'utilisation de copier/coller non réfléchis ("tu es déjà connecter").
Même pour un niveau débutant, il faudrait faire un effort à la conception et à la structuration du code."
pour le copier coller, c'est exactement ça :x (je trouvais la redirrection trop "simple")
je vais refaire le code pour qu'il soit plus structurer ( même si il faut inclure les page.)
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 16 sept. 2010 à 08:31
Quelques maladresses relevées comme des fermetures immédiatement suivies de réouverture de balises PHP.
Dans plusieurs scripts on retrouve la connexion à la base de données avec passage des paramètres qui vont bien. Imagine un gros projet avec plusieurs centaines de pages, te vois-tu devoir modifier chaque script parce que le mot de passe a changé, parce que la base de données ne serait plus MySql ? non, évidemment. Pour éviter ces désagréments, il serait bon d'isoler cette partie dans un script dédié à cela et appelé par chaque page qui en a besoin.
Je regrette aussi qu'il n'y ait pas de gestion des erreurs de connexion !
A structurer aussi : si chaque page qui a besoin que l'utilisateur soit authentifié doit comporter le code de vérification des login et mots de passe, ça devient vite ingérable et brouillon.
Enfin, on trouve trop de redondances de code qui font penser à l'utilisation de copier/coller non réfléchis ("tu es déjà connecter").
Même pour un niveau débutant, il faudrait faire un effort à la conception et à la structuration du code.
cs_bonhommecrea
Messages postés44Date d'inscriptiondimanche 14 mars 2010StatutMembreDernière intervention13 mars 2011 15 sept. 2010 à 18:56
25 déc. 2016 à 12:33
A part cela, la source commence à dater et il y a au moins 2 points qu'il faudrait améliorer :
- L'usage de mpd en MD5 (qui plus est non salés) est désormais fortement déconseillé
- L'usage de l'extension mysql est vivement déconseillée, car celle-ci disparait dès PHP7.
25 déc. 2016 à 12:12
bonjour problème de sécurité dans ton script
exécute une requête non préparé ! en $_post[] très dangereux moi je vois déjà comment te pirater la base de donnée avec une injection SQL la je peux récupe tous les mots de passe ton code est à revoir.
$sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass_md5="'.mysql_escape_string(md5($_POST['pass'])).'"';
18 juin 2011 à 11:23
Le système de gestion de base de donnée le plus connus est PhpMyAdmin.
par exemple, le phhmyadmin de legtux.org est http://legtux.org/mysql
Celui de franceserv est http://franceserv.com/pma
Si tu utilise Wamp server (un programme qui te permet de tester des script php en local), c'est
http://localhost/phpMyAdmin.
15 juin 2011 à 20:03
15 juin 2011 à 18:45
15 juin 2011 à 17:19
Peux tu m'expliquer comment il faut l'importer? lol
Merci.
5 nov. 2010 à 10:52
- Profil géré par la base de donnée et les ID
(exemple sur mon site : http://ultra-upload.tk/viewprofile.php?id=1 )
- Liste des membres avec lien vers le profil.
Dans la prochaine mise à jours :
- Livre d'or (C/NC)
- Gestion des news via une page d'administrateur.
- Utilisation (très) simple de la variable USERNAME. (affiche le pseudo de l'utilisateur qui la lis, si Visiteur USERNAME == Invité)
27 sept. 2010 à 20:22
21 sept. 2010 à 19:06
@RanZ0x => que tu préfère ton script, ok, mais que tu insulte un travail de débutant, je ne l'accepte pas ..
@Shiron => les grand esprit se rencontre ;D (lool :D)
21 sept. 2010 à 08:44
21 sept. 2010 à 06:46
Je voudrais aussi souligner mes encouragements au créateur du script, même si j'ai eu l'occasion d'avoir prêté oreille à de la concurrence, mes codes se rapprochent intimement à ceux d'inscrits ici.
Bonne chance !
21 sept. 2010 à 03:36
20 sept. 2010 à 09:09
> Un petite remarque sur "mysql_escape_string". Cette fonction ne doit plus etre utilisée (deprecated), elle doit etre remplacée par la fonction "mysql-real-escape-string"
voir :
http://php.net/mysql_escape_string
et
http://php.net/mysql-real-escape-string
> Ensuite, il est préférable d'éviter les redirections en javascript (dans la page connexion.php), il vaut mieux faire une redirection php par "header(...)"
voir
http://php.net/header
> Aussi, dans ta page membre.php si l'internaute n'est pas identifié (ex perte de session du à inactivité) tu fais une redirection vers la page index.php, mais cette page n'existe pas.
> enfin, comme dit plus haut, essaye de faire une sorte de fichier de configuration qui fasse tout ce qui est nécessaire en une seule fois, c'est à dire :
- gestion des identifiants mysql
- connexion à la base de données
ca pourrait meme faire la verification de la connexion.
ensuite tu inclurais ce fichier juste apres la déclaration d'une variable pour savoir si faut faire ou pas la vérification.
ex
<?php
//si tu oubli de mettre, ou si tu ne met pas si, alors identification demandee
$authentification_non_requise=0;
//inclusion du fichier de configuration
include(configuration.php);
// a partir d ici, tu sais que ta base de donne est connecte, et que l'utilisateur est identifie, tu n'as plus a gerer ca.
....
?>
et dans configuration.php
<?php
//declaration des variables
$sqlhost='....';
$sqlbase='....';
$sqllogin='....';
$sqlpass='....';
//connexion a la base
$base = mysql_connect ($sqlhost, $sqllogin, $sqlpass);
//ajoute ici le traitement des erreurs de mysql_connect
mysql_select_db ($sqlbase, $base);
//ajoute ici le traitement des erreurs de mysql_select_db
//necessite de l identification?
if (!isset($authentification_non_requise) || ((int)$authentification_non_requise!==1)){
// tu fais ici tout ce qui est necessaire lors de la verification de l utilisateur
}
?>
Cordialement
EM.
16 sept. 2010 à 18:11
cette 'Erreur' à été faites pendant que je créais cet espace membre pour m'y retrouver, je l'enlève dès la prochaine mise à jour ^^
__________
"Dans plusieurs scripts on retrouve la connexion à la base de données avec passage des paramètres qui vont bien. Imagine un gros projet avec plusieurs centaines de pages, te vois-tu devoir modifier chaque script parce que le mot de passe a changé, parce que la base de données ne serait plus MySql ? non, évidemment. Pour éviter ces désagréments, il serait bon d'isoler cette partie dans un script dédié à cela et appelé par chaque page qui en a besoin."
dès que je trouve comment inclure un fichier php, je le fait (je suis un peu débutant ^^").
mais c'est vrai que ce serait embêtant..
__________
"A structurer aussi : si chaque page qui a besoin que l'utilisateur soit authentifié doit comporter le code de vérification des login et mots de passe, ça devient vite ingérable et brouillon.
Enfin, on trouve trop de redondances de code qui font penser à l'utilisation de copier/coller non réfléchis ("tu es déjà connecter").
Même pour un niveau débutant, il faudrait faire un effort à la conception et à la structuration du code."
pour le copier coller, c'est exactement ça :x (je trouvais la redirrection trop "simple")
je vais refaire le code pour qu'il soit plus structurer ( même si il faut inclure les page.)
16 sept. 2010 à 08:31
Dans plusieurs scripts on retrouve la connexion à la base de données avec passage des paramètres qui vont bien. Imagine un gros projet avec plusieurs centaines de pages, te vois-tu devoir modifier chaque script parce que le mot de passe a changé, parce que la base de données ne serait plus MySql ? non, évidemment. Pour éviter ces désagréments, il serait bon d'isoler cette partie dans un script dédié à cela et appelé par chaque page qui en a besoin.
Je regrette aussi qu'il n'y ait pas de gestion des erreurs de connexion !
A structurer aussi : si chaque page qui a besoin que l'utilisateur soit authentifié doit comporter le code de vérification des login et mots de passe, ça devient vite ingérable et brouillon.
Enfin, on trouve trop de redondances de code qui font penser à l'utilisation de copier/coller non réfléchis ("tu es déjà connecter").
Même pour un niveau débutant, il faudrait faire un effort à la conception et à la structuration du code.
15 sept. 2010 à 18:56