begin process at 2008 05 14 06:28:45
1 171 642 membres
50 nouveaux aujourd'hui
13 961 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

ESPACE MEMBRE V2


Information sur la source

Catégorie :Divers Classé sous : espace, espacemembre, membres, espacemembreprofil, membre Niveau : Débutant Date de création : 09/05/2008 Date de mise à jour : 12/05/2008 12:21:20 Vu / téléchargé: 1 600 / 179

Note :
6,33 / 10 - par 3 personnes
6,33 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (24)
Ajouter un commentaire et/ou une note

Description

Voici la version 2 de l'espace membre, cette version contient :

- une page de connection
- une page d'inscription avec captcha
- une administration
- une liste des membres
- suppression de membres
- ajout de membre
- une liste de préférence
- une installation
- MP
- etc...

A vous de juger...

Conclusion

Laissez vos commentaires, ça fait toujours avancer !
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

10 mai 2008 11:46:06 :
Remplacement des <? par des <?php
10 mai 2008 18:36:54 :
- changement des mysql_escape_string en mysql_real_escape_string - supression des mysql_real_escape_string se trouvant derrière la fonction md5
10 mai 2008 18:46:47 :
supression de connections a la base donnée en dehors du fichier config.php
12 mai 2008 12:19:04 :
- suppression des : "or die(mysql_error);"
12 mai 2008 12:21:20 :
- remplacement du <? par <?php - petites modifications sur la page inscription.php
  • signaler à un administrateur
    Commentaire de nicomilville le 09/05/2008 21:05:02

    Salut,

    Pour toutes question sur le script allez sur le forum suivant : http://ressource.superforum.fr/index.htm

    a++

  • signaler à un administrateur
    Commentaire de depression le 09/05/2008 23:53:39

    Nanan, les questions et remarques, c'est ici qu'on les fait.

    J'ai pas encore pu regarder ton code, mais en français, on écrit pas connection, mais connexion.

  • signaler à un administrateur
    Commentaire de bentom32390 le 10/05/2008 08:41:58

    sur ton scrpit il il y une erreur dans les php <? doit etre <?php pour que tout les serveur puisse le lire du cou sa marche pas

  • signaler à un administrateur
    Commentaire de nicomilville le 10/05/2008 09:46:55

    @depression : j'ai oublié de préciser que j'ai fais cette espace membre avec mon associé et je lui dirai que connexion...

    0bentom32390 : je vais changer ça tout de suite, je ne l'avais pas remarqué, d'habitude je met toujours des <?php donc la les <? c'est l'ancienne manière de coder et je passerai le message a mon associé aussi !

    a++

  • signaler à un administrateur
    Commentaire de nicomilville le 10/05/2008 12:37:25

    c'est bon j'ai fait les modifs sur tout les fichiers et j'ai dis a mon associé de ne plus mettre la balise <? mais celle la <?php

    a++

  • signaler à un administrateur
    Commentaire de neigedhiver le 10/05/2008 15:57:50

    Salut,

    C'est quoi l'intérêt d'établir la connexion à la base dans config.php si c'est pour ensuite l'établir dans une autre page, alors que le fichier config.php a quand même été inclus... ?
    Tu établis la connexion combien de fois ?

    mysql_escape_string() => Bravo. Mais mysql_real_escape_string(), c'est encore mieux.

    SELECT count(*) => C'est vraiment, vraiment, vraiment crade. SELECT COUNT(id) c'est mieux : compter sur un champ indexé c'est forcément mieux que compter sur tous les champs.

    md5(mysql_escape_string($_POST['pass'])) => là, la fonction d'échappement ne sert à rien. La fonction md5 retourne obligatoirement une chaine de caractères ne contenant QUE des caractères alphanumériques, et rien d'autre. Donc pas de risque d'injection.

    obtimal => j'ai un vieux dictionnaire, mais quand même... j'ai pas trouvé.

    Bon pis j'arrête là, sinon j'y passe le week end...

  • signaler à un administrateur
    Commentaire de nicomilville le 10/05/2008 16:02:29

    ok, je vais voir, on dirai que ce script me réserve encore plein de surprise !

    a++

  • signaler à un administrateur
    Commentaire de nicomilville le 10/05/2008 18:45:28

    C'est bon, j'ai fait les modifs sauf pour SELECT count(*) !

    a++

  • signaler à un administrateur
    Commentaire de webdeb le 11/05/2008 19:10:49 6/10

    @Neigedhiver : tu peux aussi faire SELECT COUNT(1). J'ai des doutes quant au SELECT COUNT(*) plus lent que le SELECT COUNT(id).

    @Nicomville : j'ai ouvert uniquement ton fichier inscription.php et il y'a plein de trucs à améliorer.

    0/ Ton session_start() tout en haut n'a pas lieu d'être. Tu le fais quand le membre est bien inscrit et redirigé vers son espace. Ca suffit largement.

    1/ Déjà tu fais des echo $erreur !!! Pourquoi le echo ?

    2/ Tu contrôles que tous les champs sont saisis d'un coup mais il vaudrait mieux le faire un par un pour savoir ensuite quel(s) champ(s) n'a pas été remplis.

    3/ En règle général un login est composé de caractères alphanumériques + tiret et underscore. Toi tu acceptes tous les caractères... On peut donc écrire un login complètement exotique... Pas terrible nan?

    4/ On ne fait pas de "or die()" en production. Il faut les utiliser uniquement quand on développes le script. Quand celui ci est prêt, on les dégage afin de ne pas risquer d'afficher des erreurs critiques à l'utilisateur final.

    5/ Remplace ta requête de comptage par ceci :

    $req = mysql_query(sprintf('SELECT COUNT(1) FROM membre WHERE login="%s"', mysql_real_escape_string($_POST['login'])));

    6/ Remplace ton $data = mysql_fetch_array() par :

    $nbResults = (int) mysql_result($req, 0, 0);

    7/ Ainsi tu remplaces if($data[0] == 0) par :

    if(0 === $nbResults)

    8/ La requête d'insertion peut-être améliorée par :

    $sql = sprintf(
    'INSERT INTO membre (login, pass_md5, date) VALUES("%s","%s",NOW())',
    mysql_real_escape_string($_POST['login']),
    md5($_POST['pass'])
    );

    if(mysql_query($sql)) {

    // Suite du code

    } else {

    $erreur = 'Une erreur interne a empêché l\'inscription';
    }

    9/ Normalement dans le header() on doit placer un chemin absolu. Par exemple : http://www.tonsite.com/membre/page.php

    10/ On ne fait pas de SELECT * mais on liste les champs

    11/ mysql_fetch_array() est à remplacer par mysql_fetch_assoc() car plus rapide

    12/ Dans ton <form> tag, remplace le <? par <?php

    13/ Pas la peine de faire des htmlentities(). Htmlspecialchars() suffit

    14/ Il ne faut pas faire de stripslashes(). Le stripslashes() c'est uniquement si le serveur est mal configuré, c'est-à-dire avec magic_quotes_gpc à On

    Voilà, pas moins de 15 améliorations pour un même fichier. Amuse toi bien ;)

    ++

    Hugo.

  • signaler à un administrateur
    Commentaire de bcmfr le 11/05/2008 21:55:37 3/10

    Slt
    ta page membres.php n'est pas sécurisée, tu n'as pas mis le code pour vérifier l'identification.

    De toute facon:
    if (!isset($_SESSION['pseudo'])) {
       header ('Location: connection.php');
       exit();  
    }
    c'est un peu léger pour vérifier dans toutes les pages que le membre est identifié,non?

  • signaler à un administrateur
    Commentaire de nicomilville le 12/05/2008 09:43:52

    Salut webdeb,

    Merci pour la liste des modifications a faire !

    @bcmfr : on dirai que tu adore mettre des notes en dessous de la moyenne perso si j'avais été toi j'aurai d'abord donné des conseil pour améliorer le code et ensuite si ça n'avais pas bougé j'aurai mis cette note mais toi tu arrive tu me met un 3 directement, je ne sais pas vous mais tu aurai pu attendre que je fasse quelque modification !

    a++

  • signaler à un administrateur
    Commentaire de nicomilville le 12/05/2008 09:45:24

    @webdeb : je ne comprend pas ce que tu m'a dit : 0/... je dois le mettre ou mon session start ?

  • signaler à un administrateur
    Commentaire de webdeb le 12/05/2008 11:30:08

    @Nicomilville : tu le supprimes tout simplement. La session n'a pas à être ouverte tout en haut de la page. Elle doit l'être uniquement quand l'inscription s'est bien passée. Ca tu le fais bien juste avant la redirection vers membre/index.php à la ligne 31.

  • signaler à un administrateur
    Commentaire de nicomilville le 12/05/2008 11:41:07

    ok, merci ! je suis en train de faire les mises a jour sur ce que tu as dis mais on ne peut pas dire que c'est facile quand c'est pas nous qui avons fait tout le code !

    a++

  • signaler à un administrateur
    Commentaire de nicomilville le 12/05/2008 12:23:47

    je n'ai pas fait toute les modifications mais elles viendront plus tard !

    a++

  • signaler à un administrateur
    Commentaire de bcmfr le 12/05/2008 14:50:02

    Slt
    j'ai mis cette note car vu le nombre de post auxquels tu réponds sur le forum, je pensais pas qu'en postant ta source, tu ferais autant d'erreurs classiques...
    Maintenant, cette note, je la trouve réaliste car ton espace membre n'apporte pas grand chose vis à vis de ceux postés sur le site et qui sont fiables et sécuriés.
    Peut etre n'est ce pas toi qui a fait les parties qui bugs mais c'est ton rôle de relire le boulot de ton associé avant de poster.
    @+ et ne prends pas mal mes remarques, elles n'engagent que moi

  • signaler à un administrateur
    Commentaire de nicomilville le 12/05/2008 18:38:30

    non, non ne t'inquiète pas, je ne prend pas mal tes remarques, oui il est vrai que je répond a beaucoup de post sur les forum code source (plus particulièrement phpcs et javascriptfr) !

    a++

  • signaler à un administrateur
    Commentaire de djmaster le 12/05/2008 20:23:07 10/10

    Je vais tester pour voir ça :)

  • signaler à un administrateur
    Commentaire de nicomilville le 12/05/2008 20:28:59

    ok, merci pour le 10, par contre si vous trouvez des failles XSS comme je n'ai pas très bien compris le principe... je crois que c'est par l'url mais rien de sur ...

    a++

  • signaler à un administrateur
    Commentaire de bcmfr le 12/05/2008 20:59:46

    slt
    faille xss: http://php.developpez.com/faq/?page=securite#reproduire-faille-xss
    @+

  • signaler à un administrateur
    Commentaire de neigedhiver le 12/05/2008 21:24:11

    C'est vraiment le monde à l'envers... mettre une note avant de tester ou quoi... :/

  • signaler à un administrateur
    Commentaire de nicomilville le 12/05/2008 21:33:37

    merci bcmfr !

  • signaler à un administrateur
    Commentaire de coucou747 le 13/05/2008 15:06:45

    # $retour = mysql_query("SELECT * FROM EM_site");
    # $donn = mysql_fetch_array($retour);

    tu ne fais aucune verification d'erreur... si ca se trouve, qqn fait ces interrogations sans avoir installe la base de donnnee...

  • signaler à un administrateur
    Commentaire de nicomilville le 13/05/2008 16:17:56

    ok, je vais voir ça !

    merci

    a++

Ajouter un commentaire

Appels d'offres

creation d un acces s...
Budget : 130€
Creation site adulte
Budget : 500€
Modification d-un comp...
Budget : 2 000€

Pub



Snippets en rapport

CalendriCode

Mai 2008
LMMJVSD
   1234
567891011
12131415161718
19202122232425
2627<