IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Espace membre


Sujet :

Langage PHP

  1. #341
    Membre averti Avatar de Space Cowboy
    Homme Profil pro
    chomeur
    Inscrit en
    Avril 2005
    Messages
    496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : chomeur

    Informations forums :
    Inscription : Avril 2005
    Messages : 496
    Points : 401
    Points
    401
    Par défaut
    Tente quand même, rien à perdre ... par contre, pas de V3 avant le printemps, pour pas mal d'argent ca vaut le coup.

  2. #342
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Bonjour à tous,

    Pour les besoins d'un site personnel, j'utilise la version 2 de Espem dont je remercie les contributeurs car voilà un script qu'il est bien :p.

    Je viens car je rencontre un problème qui me pose pas mal de questions dont je ne trouve malheureusement pas la réponse et cela commence à me prendre un peu la tête, alors dans l'espoir de trouver des réponses à mes questions je viens ici.

    Problème: Dans la gestion du profil du membre, j'ai réalisé un système d'upload d'avatar et donc un champ avatar est venu ce rajouter à ma table.

    Présentation de la table membres:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    CREATE TABLE `membres` (
      `id` mediumint(8) unsigned NOT NULL auto_increment,
      `login` varchar(255) NOT NULL default '',
      `mdp` varchar(255) NOT NULL default '',
      `newmdp` varchar(255) NOT NULL default '',
      `compte` varchar(255) NOT NULL default '',
      `email` varchar(255) NOT NULL default '',
      `rang` varchar(255) NOT NULL default '',
      `avatar` varchar(200) NOT NULL default '',
      `date_reg` varchar(255) NOT NULL default '',
      `date_act` varchar(255) NOT NULL default '',
      `date_log` varchar(255) NOT NULL default '',
      `date_acc` varchar(255) NOT NULL default '',
      `ip` varchar(255) NOT NULL default '',
      `active` varchar(255) NOT NULL default '',
      `attack` varchar(255) NOT NULL default '',
      UNIQUE KEY `id` (`id`),
      UNIQUE KEY `login` (`login`)
    ) TYPE=MyISAM AUTO_INCREMENT=5 ;
    J'ai également modifié le fichier function.php:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $_SESSION['last_access']=@time();
        $_SESSION['ip']=$ip;
    	$_SESSION['id']=$row['id'];
        $_SESSION['login']=$row['login'];
        $_SESSION['mdp']=$row['mdp'];
        $_SESSION['email']=$row['email'];
    	$_SESSION['rang']=$row['rang'];
    	$_SESSION['avatars']=$row['avatar'];
    et c'est là que le bas blesse, je ne comprend pas sérieusement, je vous montre l'appel réalisé sur la page membre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <b>Votre Avatar:</b> <?php echo $_SESSION['avatars'];?>
    <img src="images/avatar/<?php echo $_SESSION['avatars'];?> " alt="avatar" title="avatar du membre <?php echo $_SESSION['login'];?>"/><br/><br/>
    Il me semble avoir tout fais pourtant. Mon script d'upload d'avatar fonctionne de façon satisfaisante, aucun soucis lors de l'ajout dans la base de données, le nom de l'avatar porte l'id du membre+son extension, et je me trouve un peu comme un imbécile sue ce coup là...

  3. #343
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Perso, je préfère de loin intégrer du code HTML dans PHP que l'inverse, c'est plus clair :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    echo '<b>Votre Avatar:</b> '.$_SESSION['avatars'].
         '<img src="images/avatar/'.$_SESSION['avatars'].'" '.
         'alt="avatar" title="avatar du membre '.$_SESSION['login'].'"/><br/><br/>';
    ?>
    Vérifie aussi que $_SESSION['avatars'] est bien renseigné en regardant le code source HTML de ta page. Si tu as toujours le problème, explique-nous ce qu'il se passe et si ya un message d'erreur car pour l'instant, tu nous as dit que tu avais un problème mais tu ne nous as pas dit quoi comme problème...

  4. #344
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    C'est bon , j'ai trouvé la faute, désolé du dérangement, un petit oubli personnel lors de la mise en place des droits des rangs. un peu boulet sur les bords, le compte que j'utilisais pour mes tests n'avais pas les droits à l'affichage de l'avatar. Merci tout de même et bonne continuation pour la prochaine version.

    Jynrion, fidèle utilisateur et souteneur de la cause ESPEM

  5. #345
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 73
    Points : 67
    Points
    67
    Par défaut
    l'utilisateur est sur la page A; il veut aller sur la page B or cette derniere requiert l'authentification, il se retrouve donc sur la page connect.php.
    Quelle est la meilleur facon de rediriger l'utilisateur, une fois identifié, vers la page A ou la page B?

    D'avance merci

  6. #346
    Membre averti Avatar de mussara
    Inscrit en
    Novembre 2004
    Messages
    442
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2004
    Messages : 442
    Points : 348
    Points
    348
    Par défaut
    dans la fonction Make_connection du fichier function.php
    tu verras qu'il y a @header('Location: membres.php');

    tu remplaces cette page par la tienne, et si la connexion est effective, alors tes visiteurs seront redirigés sur cette page

  7. #347
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 73
    Points : 67
    Points
    67
    Par défaut
    dans la fonction Make_connection du fichier function.php
    tu verras qu'il y a @header('Location: membres.php');

    tu remplaces cette page par la tienne, et si la connexion est effective, alors tes visiteurs seront redirigés sur cette page
    Comment faire pour que cette redirection soit dynamique?

  8. #348
    Membre averti Avatar de mussara
    Inscrit en
    Novembre 2004
    Messages
    442
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2004
    Messages : 442
    Points : 348
    Points
    348
    Par défaut
    je ne comprends pas ce que tu veux dire...
    tu veux mettre redireger vers telle ou telle page en fonction de ce que tu as executé auparavant???

  9. #349
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 73
    Points : 67
    Points
    67
    Par défaut
    parmi toute les pages j'en ai 5 page qui necesite une authentification A,B,C,D,E. .

    En cliquant sur le lien B, l'utilisateur arrivera donc sur la page connect.php pour qu'il s'authentifie. j'aimerais , qu'une fois authentifié, il soit rediriger vers la page B automatiquement, plutot que sur la page d'accueil. Est ce possible?

  10. #350
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 215
    Points : 79
    Points
    79
    Par défaut
    Bonsoir,

    Je trouve le projet génial et pour une fois sans erreur (se qui est rare)

  11. #351
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 57
    Points : 19
    Points
    19
    Par défaut
    Bonjour à tous,
    vraiment pas mal le projet mais j'ai un pépin, j'aurais aimé rajouter le kapcha au login... mais je n'y arrives pas, si un de vous a une idée

  12. #352
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Salut a tous, j'ai suivit votre discu ya quelques semaines, je reviens juste pour une ou deux infos que vous connaissez sans doute deja.

    Vous parliez de la protection par md5 ou Sha1 (avec ou sel please ) qui n'était plus tres sur, j'ai meme entendu sur cet discu ou l'autre qu'on avait le temps, que c'était les tres grosses pointures genre CIA ou je ne sais quoi qui pouvaient se lancer dans la casse de code de ce genre.... mais les petits logiciels sont deja sur le net.
    Je vous donne le lien sur Zataz qui en parle


    http://www.zataz.com/news/14373/

    extrait : "PassworsPro s'attaque aussi aux variantes hashes des programmes PHP (md5(md5($pass)) ; md5(md5($pass).$salt) ; md5(md5($salt).md5($pass)) ; sha1($username.$pass)."

    Que peut on utiliser maintenant pour crypter ses données ?


    Edit : je me repond moi meme, d'apres ce que j'ai pu lire ici ou la , SHA-256 n'a pas l'air d'avoir encore été casser.

    deux / trois petit liens que j'ai trouvé vite fait sur le net
    http://antoine.media-box.net/index.p...ash-sha-en-php
    http://www.programmeur-analyste.com/...=06&category=4

  13. #353
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Août 2007
    Messages
    77
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 77
    Points : 92
    Points
    92
    Par défaut
    Bonjour tout le monde, je voulais savoir si il y avait moyen de créer des rangs, car j'utilise dans mon système actuel que je vais remplacer par celui-ci un système de rang et en fonction de ses rangs on peut afficher tel ou tel page.

    Est-ce que ce système est déjà en place ?
    Actuellement j'ai un champ privilege dans ma bdd et avec un nom différent pour chacun et sur chaque page je met une petite condition, serait-il possible de le faire la-dedans si ce n'est pas deja fait ?

    Si oui comment ? quel fichier modifier, je dois dire que c'est bien plus complexe que ce que je fais d'habitude donc je fais gaffe

    J'ai quelques questions sur le but de certains champs de la bdd : compte,date_reg(inscription ?),date_act(actuelle ?) j'ai tout inscrit à la patte dans la bdd c'est pour ça que y a pas de tout rempli comme sa devrait l'être.

    J'aurais aussi voulu savoir ou changer pour rallonger la durée de vie de la session car 10 minutes sa me semble un peu paranoiak

    edit: pour les 10 minutes c'est OK, simplement génial le coup du fichier config


    edit 2: lorsque je me logge je suis envoyer sur cette page : index.php?act=submit
    Comment faire si je veux aller sur index2.php par exemple ?

    Merci

  14. #354
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Citation Envoyé par mikaweb
    Est-ce que ce système est déjà en place ?
    non, mais c'est facile : Tu ajoutes un champs dans la table membre et tu récupères l'info lorsque le membre est connecté, tu peux même mettre cette info dans la session (voir un post précédent dans ce sujet où un membre voulait ajouter des trucs dans la session).


    Citation Envoyé par mikaweb
    J'ai quelques questions sur le but de certains champs de la bdd
    date_reg = inscription
    date_act = activation du compte
    date_log = date de connection
    date_acc = date de dernier accès aux scripts

    Pour plus d'info : http://sub0.developpez.com/php/espmem/doc/doc.htm

    Citation Envoyé par mikaweb
    J'aurais aussi voulu savoir ou changer pour rallonger la durée de vie de la session car 10 minutes sa me semble un peu paranoiak
    -> config.php

  15. #355
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Août 2007
    Messages
    77
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 77
    Points : 92
    Points
    92
    Par défaut
    Tout d'abord merci de me répondre rapidement
    Pour les sessions j'avais trouvé, par défaut 10minutes, j'ai rallongé à une heure.
    Puis concernant la redirection après l'accueil,j'ai fait une condition GET pour rediriger ou je désirais aller donc c'est tout bon.

    Maintenant je vais tâcher de voir pour ces privilèges car là je ne peux pas permettre à tout le monde d'accèder au pannel admin, uniquement les gens en qui j'ai confiance, il y a des tâches que seuls des admins peuvent faire comme valider un article et si je ne fais pas de gestion de privilège, ca ne va pas aller

    Je vais tenter de faire un petit truc, on verra bien ce que cela donne, en cas de besoin je reviendrais ici.

    Tu aurais pas un lien, page ou on parlait de faire un truc comme cela, j'ai zappé, j'ai tout lu hier soir à 1heure du mat' alors

  16. #356
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    En fait, c'est tout simple selon moi. En gros, tu ajoutes un champs nommé "priv" par exemple et tu affecteras manuellement le niveau de chaque membre (avec phpmyadmin par exemple). Normalement, si tu as bien configuré ESPMEM, tu es averti par mail lorsqu'un nouveau membre s'incrit...

    Pour récupérer le niveau de privilège avec PHP, repère dans le code du script connect.php l'endroit où l'on vérifit que le membre est bien connecté en comparant le mot de passe (le code est commenté, ça devrait aller) et tu verras alors comment on procède pour obtenir la valeur d'un champs de la table. Au pire, voir le contenu du script membre.php... Ensuite, à toi d'utiliser cette valeur pour bloquer les pages admin via les variables de session, ce n'est pas très compliqué, mais si tu bloques quelque part, reviens poster ta question ici.

    à+

  17. #357
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    J'ajouterais qu'il serait bon que tu donnes éventuellement les modif que tu auras faites dans les scripts d'espmem... comme ça, elles pourront éventuellement être insérées.

    @Sub0 : il faudra qu'on se parle "in live" à l'ocaz, parce que mes serveur sous linux sont finis d'installer, et il faudra qu'on voit ce dont tu as besoin pour espmem

  18. #358
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Août 2007
    Messages
    77
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 77
    Points : 92
    Points
    92
    Par défaut
    Cela fait un petit moment que je me penche sur le problème mais je ne voie pas trop ou modifier avec toutes les fonctions mises en place.

    Vais encore regarder un petit moment et puis j'ai une autre question
    Je me permet de la poser ici vu que j'utilise cet espace membre.
    Je signale que j'ai mis l'include de session sur toutes mes pages.
    Lorsque j'écrit un article, et que ensuite je l'envoie, je suis envoyé par un formulaire post sur une autre page qui affiche en preview ce que l'utilisateur y écrit, en même temps il dit ce qui n'a pas été rempli, etc...

    Donc si il y a une erreur, un champ non rempli ou alors que l'utilisateur veut modifier quelques choses il a la possibilité de nouveau via un formulaire post de revenir sur la page de rédaction mais là impossible de reprendre les valeurs des variables à travers les sessions.
    Si vous auriez un petit exemple à me donner ou bien si vous désirez que je donne un petit bout de code pour un seul champ ?

    J'ai épuré le code au maximum pour laisser que le minimum, si cela fonctionne avec cette variable, cela fonctionnera avec les autres
    Mon fichier rediger news
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <form action="news_preview.php" method="post">
    <legend>Contenu de l'Article</legend>
    <p>
    	<label>Titre : </label>
    	<input type="text" name="titre" value="<?php echo $donnees['titre']; ?>" />
    </p>
    <input type="submit" name="submit" value="Envoyer" />
    </form>
    Voici mon fichier news preview

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <div id="preview">
    	<h2><?php echo stripslashes($_POST['titre']); ?></h2>
    </div>
    	<form action="rediger_news.php" method="post">
    	<fieldset>
    	<legend>Modifications</legend>
    	<p><strong>Modifier</strong> : Revenir sur la saisie de l'article.</p>
    	<input name="action" value="Modifier" type="submit"/> 
    	</fieldset>
    	</form>
    Merci et je vais tacher de chercher pour ce problème de privilège qui pourrait servir à pas mal de monde.

  19. #359
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Août 2007
    Messages
    77
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 77
    Points : 92
    Points
    92
    Par défaut
    Bonjour,

    Je n'ai toujours pas trouvé de solution malgré quelques tentatives.
    J'aurais voulu savoir si faire ceci sur chaque page était la solution ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if($_SESSION['privilege'] == "admin" AND $_SESSION['last_access']=@time())
    Ou alors de faire simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if($_SESSION['privilege'] == "admin")
    pour protéger par zone ?
    Je ne suis pas chez moi donc pas moyen de le tester, je préfère demander et avoir un petit coup de main au cas ou sa ne fonctionnerait pas ainsi une fois chez moi je pourrais tester de suite.

    Voici le code que j'insère actuellement dans chacune de mes pages via un petit include PHP.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php
    require('mika_lib/membres/session.php');
    $_SESSION['last_access']=@time();
    require_once('mika_lib/membres/function.php');
    if($const['exit']) return false;
    ?>
    Je ne comprends pas très bien la seconde ligne avec $const
    pourriez vous me l'expliquer brièvement ?

    Merci à tous.

  20. #360
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Je ne comprends pas très bien la seconde ligne avec $const
    pourriez vous me l'expliquer brièvement ?
    On en avait déjà parlé ici.
    Citation Envoyé par Sub0
    En gros, dans le cas où tu insères l'espace membre avec un include() ou require() dans une page, le code permet de sortir du script sans interrompre le chargement du reste de la page. La constante 'exit' permet de mémoriser ce status. Les fonctions ne seront pas exécutées mais le script continu son chargement.
    Lorsque j'aurai un peu plus de temps libre (ce week-end probablement, peut-être avant), je me pencherai sur l'intégration d'un niveau de privilège avec EspMem.

Discussions similaires

  1. Réponses: 197
    Dernier message: 27/04/2021, 00h11
  2. [Sécurité] Réalisation d'un espace membre
    Par Goundy dans le forum Langage
    Réponses: 3
    Dernier message: 30/01/2006, 19h01
  3. Redirection personnalisée espace membre
    Par vinche999 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 28/01/2006, 22h39
  4. [Sécurité] espace membre
    Par Emcy dans le forum Langage
    Réponses: 5
    Dernier message: 24/01/2006, 19h13
  5. [Sécurité] Probleme d'espace membre
    Par warmup dans le forum Langage
    Réponses: 4
    Dernier message: 01/12/2005, 01h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo