ESPACE MEMBRE BASIQUE

cs_bonhommecrea Messages postés 44 Date d'inscription dimanche 14 mars 2010 Statut Membre Dernière intervention 13 mars 2011 - 15 sept. 2010 à 18:56
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 - 25 déc. 2016 à 12:33
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/52290-espace-membre-basique

NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
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.
xkill...*

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és 44 Date d'inscription dimanche 14 mars 2010 Statut Membre Dernière intervention 13 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.

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.
alexlapatate Messages postés 4 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 15 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és 44 Date d'inscription dimanche 14 mars 2010 Statut Membre Dernière intervention 13 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és 4 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 15 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és 44 Date d'inscription dimanche 14 mars 2010 Statut Membre Dernière intervention 13 mars 2011
5 nov. 2010 à 10:52
@PQOI : Plus de problème avec la nouvelle version,

- 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é)
pqoi Messages postés 5 Date d'inscription samedi 17 avril 2010 Statut Membre Dernière intervention 25 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és 44 Date d'inscription dimanche 14 mars 2010 Statut Membre Dernière intervention 13 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és 358 Date d'inscription dimanche 8 février 2004 Statut Membre Dernière intervention 9 octobre 2017 1
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és 8 Date d'inscription lundi 28 mai 2007 Statut Membre Dernière intervention 29 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és 18 Date d'inscription vendredi 4 avril 2008 Statut Membre Dernière intervention 20 juin 2010
21 sept. 2010 à 03:36
c'est caca je préfére mon script de débutant
cs_emilia123 Messages postés 122 Date d'inscription mercredi 19 décembre 2001 Statut Membre Derniè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"

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.
cs_bonhommecrea Messages postés 44 Date d'inscription dimanche 14 mars 2010 Statut Membre Dernière intervention 13 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és 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
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és 44 Date d'inscription dimanche 14 mars 2010 Statut Membre Dernière intervention 13 mars 2011
15 sept. 2010 à 18:56
voila, attend vos commentaire ^^
Rejoignez-nous