Tente quand même, rien à perdre ... par contre, pas de V3 avant le printemps, pour pas mal d'argent ca vaut le coup.
Version imprimable
Tente quand même, rien à perdre ... par contre, pas de V3 avant le printemps, pour pas mal d'argent ca vaut le coup.
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:
J'ai également modifié le fichier function.php:Code:
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 ;
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:
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'];
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à...Code:
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/>
Perso, je préfère de loin intégrer du code HTML dans PHP que l'inverse, c'est plus clair :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...Code:
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/>'; ?>
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
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
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?Citation:
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
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???
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?
Bonsoir,
Je trouve le projet génial et pour une fois sans erreur (se qui est rare) ;)
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 ;)
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 ? :cry:
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
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 :mouarf:
edit: pour les 10 minutes c'est OK, simplement génial le coup du fichier config :yaisse2:
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
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
date_reg = inscriptionCitation:
Envoyé par mikaweb
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
-> config.phpCitation:
Envoyé par mikaweb
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 :mrgreen:
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.
à+ ;)
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 ;)
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 :roll:
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
Voici mon fichier news previewCode:
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>
Merci et je vais tacher de chercher pour ce problème de privilège qui pourrait servir à pas mal de monde.Code:
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>
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 ?
Ou alors de faire simplement :Code:if($_SESSION['privilege'] == "admin" AND $_SESSION['last_access']=@time())
pour protéger par zone ?Code:if($_SESSION['privilege'] == "admin")
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.
Je ne comprends pas très bien la seconde ligne avec $constCode:
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; ?>
pourriez vous me l'expliquer brièvement ?
Merci à tous.
On en avait déjà parlé ici.Citation:
Je ne comprends pas très bien la seconde ligne avec $const
pourriez vous me l'expliquer brièvement ?
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.Citation:
Envoyé par Sub0