begin process at 2010 02 10 12:08:11
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Sécurité & Cryptage

 > AUTHENTIFICATION SÉCURISÉE PAR SESSIONS ET MOT DE PASSE CHIFFRÉ PAR MD5 // BDD MYSQL

AUTHENTIFICATION SÉCURISÉE PAR SESSIONS ET MOT DE PASSE CHIFFRÉ PAR MD5 // BDD MYSQL


 Information sur la source

Note :
9,18 / 10 - par 62 personnes
9,18 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Sécurité & Cryptage Niveau :Initié Date de création :05/05/2004 Date de mise à jour :18/09/2005 12:01:21 Vu / téléchargé :61 122 / 15 625

Auteur : mavounet

Ecrire un message privé
Site perso
Commentaire sur cette source (148)
Ajouter un commentaire et/ou une note

 Description

Accessible aux débutants et facilement personnalisable, DBProtect V 1.2 (nouvelle version) offre une bonne sécurité à vos pages web en utilisant un chiffrement des mots de passe par MD5 et les sessions PHP.

3 parties :
- une connexion (ouvrant la session)
- un script de protection (pour les pages à protéger)
- un script de déconnexion (fermant la session)

Console d'amin pour gérer les utilisateurs et définir les niveaux d'accès.
Source commentée et instructions dans le zip.
Bon php à tous.



 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

18 septembre 2005 12:01:21 :
+ de sécurité + facile à installer + de documentation pour tout comprendre

 Sources du même auteur

Source avec Zip GÉNÉRERATEUR DE MOTS DE PASSE OU D'AUTRES CHAÎNES DE CARACTÈ...

 Sources de la même categorie

ALGORITHME DE CÉSAR SUR LA TABLE ASCII par Nementon
Source avec une capture CODEC D'OBFUSCATION DE LIEN HTML (PHP5) par masternico
GÉRER UN .HTPASSWD par coockiesch
Source avec Zip SERSESSIONS > CLASS PHP5 POUR GERER LES SESSIONS SIMPLEMENT par Astalavista
Source avec Zip PROTECTION CONTRE LES FAILLES CSRF : CROSS SITE REQUEST FORG... par aKheNathOn

Commentaires et avis

Commentaire de mnjagg le 05/05/2004 16:03:49

WAW c'est tout simplement GENIAL ! Bravo ça va me servir :) merci pour cette super source moi je met 10/10 j'adore !

Commentaire de HurriCom le 05/05/2004 18:56:22

Alors là, je suis obligé de confirmer.
VRAIMENT ! Après avoir cherché et cherché encore un script simple proposant une sécurisation de bon niveau pour mes pages, je dis BRAVO mavounet !!!
Franchement, pas de problèmes lors de l'installation, c'est simple et bien expliqué.
En plus, je l'ai paramétré pour mon site très facilement, car ce script se résume en fait en deux parties (un script de connexion + un script de protection)
1 partie dans mon formulaire d'authentification, l'autre partie à copier dans toutes mes pages à protéger et le tour est joué !

Bonne continuation
++ Hurri

PS : mysql + sessions + cryptage md5 + code simple = 10/10 et un gros MERCI !!!

Commentaire de cassey le 05/05/2004 19:58:10

je veux savoir si je veux enlever le crypter qu est que je fais j ai effacer les md5 mais j ai toujours les point noir qui s affiche
merci
a part ca super ton script

Commentaire de mavounet le 05/05/2004 20:26:35

Voici la liste de tous les md5 à supprimer pour supprimer le cryptage des mots de passe :

// ligne 15 du fichier index.php et ligne 28 du fichier admin.php ...
$pass = md5($_POST['pass']);

// ... à transformer en
$pass = $_POST['pass'];

Voilà, maintenant, pour espérer te rconnecter, remet le mot de passe d'au moins 1 administrateur en clair dans la base (à l'aide de PhpMyadmin par exemple) et reconnecte toi pour gérer tes utilisateurs.
N'oubli surtout pas de remettre en clair le mot de passe du compte de base par exemple (login: toto, pass: mdp), car il est crypté dans la base.
Tu as du faire un oubli, je viens de tester, j'ai pas réussi à me tromper ;)

++

Commentaire de Inekman le 06/05/2004 20:03:28

C'est un bon script ça. 9/10

J'ai juste une remarque à faire, le MD5 n'est pas un algorithme de cryptage mais "juste" une signature numérique de 32 bits. ;-)

Inekman.

Commentaire de mavounet le 06/05/2004 20:55:14

Merci et bonne remarque car il ne s'agit effectivement pas de cryptage car mais d'empreinte numérique. En effet, impossible de retrouver avec certitude le message d'origine chiffré par md5 car il existe une même empreite pour plusieurs combinaisons de caractères...
>> le message ou la chaîne de caractère n'est pas contenue dans une chaine de type "4b868ty444401ez56 ...".
Je te donne donc entièrement raison et rajouterai pour ceux qui voudraient jouer les apprentis hacker'z (sisi j'en ai vu sur ce site ;) : une chaîne cryptée par md5 ne se décode pas, il est juste possible de vérifier son authenticité par comparaison des empreintes.
Bien le bonsoir à toi Inekman!

MaV-

Commentaire de Inekman le 07/05/2004 01:11:47

Tu corrobore mes dires, ça fait plaisir.

Mais c'est affligeant de voir des internautes qui cryptent tout et n'importe quoi avec la fonction MD5 alors qu'une simple recherche sur gogol leur apprendrait une bonne fois pour toute qu'il s'agit d'une signature numérique (Hash, pour les francophobes :p) et donc que la donnée ne s'y trouve nullement.

Ceci-dit, si t'as recontré des poypoy essayant de retrouver un mot de passe à partir du MD5..faut qu'ils m'expliquent et je leur souhaitent de bonnes nuits blanches :p

Encore bravo pour ton script Mavounet...moi faut que j'aille faire dodo.

Inekman.

Commentaire de romalafrite le 10/05/2004 07:58:38

Bon script, pas essayé parce que j'ai le mien mais bon, de loin il a l'air bien ;) Juste une suggestion, j'ai utilisé mcrypt + clé pour le mien, que pensez vous de cette solution ?

Commentaire de Inekman le 10/05/2004 17:19:49

Moi j'en pense pas grand chose parce que je ne sais pas ce que c'est...t'as pensé à faire une recherche sur gogol pour savoir ce qu'en pense globalement la communauté d'Internet à propos de ta méthode ?

Commentaire de romalafrite le 10/05/2004 23:58:48

non, pas eu le temps, ou plutot la flemme... ;) Il faut voir

Commentaire de itris le 11/05/2004 08:31:10

Tres bon script !
Bien commenté !
Facilement adaptable !

Bref ... Superbe boulot !
;-)

Commentaire de Thomas57 le 20/05/2004 19:53:04

10/10 BRAVO ! :))

Commentaire de alcapote le 25/05/2004 22:31:22

Salut et félicitation pour ton script, mais je crois qu'il n'est pas complètement inviolable : quand on arrive sur l'index.php si on fait :
view-source:http://adresse_de_ton_site/repertoire/accueil.php

on arrive au code source de la page d'acceuil donc au reste du site!!!

Si quelqu'un a une explication, en tout cas bravo, c'est pas pour critiquer car je suis incapable de faire 1% du travail que tu as fais, c'était juste pour faire avancer le chmilblik...
hasta luego

Commentaire de mavounet le 26/05/2004 06:48:25

en effet, en faisant un view-source, tu pourra voir du ... html
en aucun cas tu vois une ligne de php, car il est interprété côté serveur.
;) +

Commentaire de Kevin007 le 17/06/2004 17:48:52

Bon code juste ça :
if (session_is_registered("authentification")) devient if (isset($_SESSION['authentification']))

Commentaire de Inekman le 17/06/2004 19:14:47

en lisant un peu les fonctions j'ai vu une fonction show_source() (ou un truc dans le genre) qui permet de voir le code source de la page php. J'avais fait un test et ça fonctionnait. Donc je me demandais si c t possible d'interdire l'utilisation de cette fonction pour empêcher la visualisation du code...:-(

Commentaire de panpan le 21/06/2004 15:28:46

Tu entend quoi par :

Bon code juste ça :
if (session_is_registered("authentification")) devient if (isset($_SESSION['authentification']))

Qu'il faut changer le code original pour mettre cela a la place?

Beau travail 10/10

Commentaire de panpan le 21/06/2004 22:16:47

ce qui serai bien c'est un bout de code qui verifi si le membre existe deja dans la base de donné quand on en ajoute un.

Commentaire de revinc le 23/06/2004 12:59:31

Juste pour te signaler que ton script n'est pas sécurisé et qu'il est possible de se logger sous n'importe identifiant même sans connaître le mot de passe.
Une injection SQL dans le fichier index.php permettrait quel hacker de pénétrer dans ton système (si la directive de configuration magic_quotes_gpc est à 0 sur ton serveur, ce qui est fort probable) :

$verif_query=sprintf("SELECT * FROM utilisateurs WHERE login='$login' AND pass='$pass'"); // requête sur la base administrateurs

Essaye de rechercher plus dinfos sur les injections sur le net.

Commentaire de Mycado le 22/07/2004 20:38:01

Pour info, dans 90% des cas, l'injection SQL ne fonctionne pas.
Je parle en connaissance de cause.

Commentaire de spider987 le 28/07/2004 13:51:41

merci pour ce cs.
Moi il ne me servira pas mais je pense que sa devrais suffir pour un pote qui developpe son site perso.

Enfin si non super bien expliqué. Magnifique
mais comme aucain script n'est parfait je dis 9/10

Commentaire de fabsss le 31/07/2004 03:56:42

bonjour,

j'avoue ce code est magnéfique cependant je souhaite savoir comment creer une redirection pour chaque utilisateur

et si possible de le faire en rajoutant dans le formulaire "creation de compte" une saisie

merci

Commentaire de emilia123 le 24/08/2004 11:24:09

Je tiens juste à dire que Revinc a raison et que Mycado n'a pas l'air de savoir ce qu'il dit.

la requette : "SELECT * FROM utilisateurs WHERE login='$login' AND pass='$pass'"
Si dans le formulaire pour le login on rentre :
' or 1=1 or 1='
(ne pas oublier les simples cotes au début et fin).
cela donne :  

SELECT * FROM utilisateurs WHERE login='' or 1=1 or 1='' AND pass='$pass'

quelque soit le mot de passe rentré 1=1 est toujours vrai donc on passe le test de l'utilisateur correspondant...et hop on est connecté.
Il faut proteger les valeurs passées au requettes.. en supprimant les ' (simple cotes), les % (caractères joker), etc etc. par un petit HTMLentities
quite a hasher aussi le login pour etre sur..
voila c'est tout.
biz à tous

Commentaire de fibo le 31/08/2004 15:38:53

Sur ma machine, le script refusait de marcher correctement. Différents essais pour trouver le problème, qui pourtant n'apparaissait pas dans le debug de Nusphere.
La solution? Penser à désactiver ZoneAlarm qui en fait bloquait le processus...

Commentaire de danny2004 le 15/09/2004 16:38:20

Hello, en effet je trouve son code très bon. J'ai juste un problème... Lors d'une déconnexion ou d'un echec de mot de passe le formulaire de connexion s'affiche bien avec les avertissements correspondants mais il est impossible de se reloguer. On arrive sur une page inconnue... quelqu'un a-t-il eu le meme problème? D'où ça vient?

merci!

pour les injections de sql... vous êtes un peu parano il me semble. Les 3/4 des hébergeurs sont sécurisés contre ces attaques. Mais il y en a toujours à la rue évidemment!

Commentaire de fazzman le 22/09/2004 23:45:39

Lut all,

Je viens d'installer ce script sur mon site ( en local pour le moment ) et ca marche po !!! ( j ai jamais de chance moi ... )

Lorsque j arrive sur la page de log, j entre les infos comme dit dans le fichier Lisez-moi.htm c'est a dire login : "toto" et mot de passe : "mdp".

Lors de la validation j ai l erreur :
Echec d'authentification !!! > Aucune session n'est ouverte ou vous n'avez pas les droits pour afficher cette page

J ai bien mes tables de créées, j'utilise easyphp 1.7 avec comme seule modif au niveau du php.ini
=> error_reporting = E_NOTICE
d'autre part tous mes script php marche sauf ceux avec lesquels il y a des sessions !!!

Je ne vois pas de ou le probleme peut venir sauf si ce n'est de mon firewall !!! Est-ce possible ? Si oui qu elle est le service ou programme a laisser passer ?

Ensuite pour en etre sur j aimerai savoir ou sont stockés les fichiers session sur un serveur tel que easyphp 1.7

Merci d'avance pour vos reponses...
Bye ;-)

Commentaire de massacr le 29/09/2004 14:01:49

Ce script est vraiment super

Commentaire de fabsss le 20/10/2004 23:11:38

salut

je trouve le script pas mal mais par contre je souhaite creer une direction differente au niveau des utilisateurs car selon la personne je souhaite mettre des choses differents (document etc...)

merci

Commentaire de Mercury_be le 23/10/2004 16:19:39

j'aimerais vraiment le tester... mais il est où le zip ???? :'(

Commentaire de Mercury_be le 23/10/2004 16:21:16

heuuu honte à moi, je viens de le voir ;)

Commentaire de xabivalencia le 29/10/2004 16:16:43

tres bo tuto, ca marche de suite...pas beosin de se compliker la vie....10/10 niveau explication dans les script,10/10 niveau accompagnment...en FAIT, C 100% DE REUSSITE!!
J ai quand meme une petite question:
c est peut etre bete mais comment redonner le password a un utilisateur qui ne s en souviendrait plus???

Commentaire de mosfbs le 09/11/2004 10:58:51

salut ;
voila j'ai utilisé ton code , et j'ai c'est 2 erreurs ,tu peut m'aider pour les corriger stp

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at C:\Program Files\Apache Group\Apache2

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at C:\Program Files\Apache Group\Apache2\htdocs\servitudes\index.php:2) in C:\Program Files\Apache Group\Apache2\htdocs\servitudes\index.php on line 10

Commentaire de Marshall_Mathers le 27/11/2004 15:34:57

Parfait !!!

C'est ce que je chercher !!

9/10 (même si c'est le meilleur CS que j'ai trouvé !!!)

PS : Faut pas oublier de dire (pour ceux qui ne savent pas) de creer un dossier 'sessions' sous les serveur de free ;)

Commentaire de topperh le 30/11/2004 00:51:56

bon voila je suis un boulet en programmation et j'avoue que pourtant j'essaye de comprendre.
j'ai cette erreur :
Warning: mysql_pconnect() [function.mysql-pconnect]: Access denied for user: 'root@212.27.35.102' (Using password: NO) in connexion.php on line 7

Fatal error: Access denied for user: 'root@212.27.35.102' (Using password: NO) in connexion.php on line 7

mon server d'hebergement est online.

Merci de m'aider

Commentaire de coun05 le 14/12/2004 23:18:45

Slt.
Je suis un gros noob en prog, ms j'aimerais corriger la "faille" de sécurité mise en avant par revinc et emilia123, cad avec le htmlentities.
Justement, est-ce que vous pourriez me dire où on les met exactement, pke j'ai essayé à pas mal d'endroits...sans résultat. Un vrai noob quoi ;)

Commentaire de freeloony le 23/01/2005 18:29:11

Nickel !!! Un 10/10 !
J'ai téléchargé ce script il y a quelques temps parce que rien ne sert de réinventer la roue... Et il fonctionne très bien, simple et clair à comprendre !
Merci à son auteur.

Commentaire de fibo le 23/01/2005 19:17:19

Parfait.
J'ai apporté quelques petites modification pour mieux adapter à mon problème personnel, mais c'est vraiment un très bon script bien expliqué.
En ce qui concerne la sécurité... je ne garde le mot de passe en clair que pour le login lui-même, après je le garde sous la forme md5.
Comme mon site ne brasse pas d'argent... je pense que les crackers trouveront plus inytéressant à craquer.

Commentaire de yannvag le 16/02/2005 10:47:32

C'est super, mais moi, je developpe en XHTML.

C'est pourquoi ça serai cool si c'était en XHTML.

Mais sinon, c'est TROP COOL !!!

Commentaire de nitrox13 le 06/04/2005 01:25:07

Super boulot.
J'ai un pb, lorsque je crée un utilisateur avec le privilége utilisateur, je retombe sur la page index.php avec le message suivant :
Echec d'authentification !!! > Aucune session n'est ouverte ou vous n'avez pas les droits pour afficher cette page (l'utilisateur est quand meme crée).
Si je crée le meme utilisateur avec le privilége admin, aucun pb.

Commentaire de Oziris le 09/04/2005 11:11:29

salut,
merci pour ton code qui est bien lisible par endroit(expression trop technique par moment) pour un newbees comme moi
une petite remarque pour sont evolution :
seul l'admin peu creer un utilisateur !!
il n'y a pas de page pour s'enregistrer si l'on est un simple visiteur pourquoi ?

Commentaire de Oziris le 11/04/2005 12:18:22

salut,
c encore moi comme nitrox 13 j'ai le meme probleme
lorque on creer un utilisateur il me mais la meme erreur que nitrox 13 mais l'utilisateur est creer peu tu nous eclairer ?
merci de ton aide

Commentaire de leonsix le 13/04/2005 23:10:00

trs bon script j'ai adoré je voudrai savoir si quelqu'un connait la fonction inverse de MD5 merci pour l'infos

Commentaire de jojobarjo32 le 20/04/2005 18:30:05

md5 marche à sens unique leonsix ;)

Sinon bon script qui mérite l'attention. J'ai quand même du rajouter pas mal de choses pour arriver à un résultat qui me convenait (page profil pour chaque utilisateur afin de pouvoir modifier son mot de passe et compagnie, page que pour les admins pour modifier un utilisateur, etc, etc.). Je ne savais pas que la faille qu'à dite emilia123 existait alors j'ai testé et c'est vrai. En rentrant ' or 1=1 or 1=' on est directement connecté en tant qu'admin... Je le teste en local donc peut-être que sur l'hébergeur ce problème n'existe pas je ne sais pas. En tout cas, essaye d'arranger ça dans ta version 2 si tu peux !! Et tant qu'à faire, fais comme moi, rajoute une page profil etc... ca évitera de se le faire soi-même ;)
Encore merci pour ce script !

Commentaire de rythm_of_hell le 26/04/2005 09:44:36

Salut,

C'est juste pour te dire qu'il y a une faille dans ton code notament au niveau de la saisie du mot de passe. Avec ta requete il suffit d'entrer un login valide sans le mot de passe pour entrer. Ta requete est ainsi:
SELECT * FROM utilisateurs WHERE login='$login' AND pass='$pass' . Si je mets comme login quelque chose du genre  toto ' # ta requete va ignorer ce qu'il y a apres le dieze et du coup plus besoin de pass pr tous les privilèges!

Commentaire de jypegue le 29/05/2005 20:17:33

> suite au commentaire de rythm_of_hell :
C'est vrai que ça craint un peu cette histoire de login générique. Personnellement ça m'ira tout de même.


J'ai passé quelques heures à chercher un scipt d'authentification. Je n'y connais pas grand chose en php et je cherchais un script simple et efficace; assez difficile à trouver en fait. Et là je tombe sur ce script, super simple à installer, super bien expliqué, et super facile à exploiter pour un site. Merci Mavounet.

Commentaire de Oziris le 30/06/2005 19:58:57

salut,
encore moi apres avoir regarder ton code dans tous les sens il y a quelques chose que je comprend pas
comment faire une REDIRECTION EN FONCTION DU PRIVILEGE j'ai pas tous compris ? et malgre l'aide et le nombre de mes essaie je n'y arrive toujours pas :<
merci de ta reponse

Commentaire de Oziris le 01/07/2005 08:39:52

un petit exemple serai le bienvenue
merci

Commentaire de mavounet le 01/07/2005 09:55:15

Salut à tous. Je ne peux pas uploader la mise à jour (pb sur pcpcs), mais la V1.2 est dispo sur http://www.borrat.net/sources.php

>> + de sécurité et plus de documentation

Bon php à tous !

Commentaire de waxzcevrbtny le 01/09/2005 13:54:53

Salut !

J'ai regarder un peu la nouvelle version de ton script et j'ai remarqué une petite chose dans accueil.php :

Ne faudrait-il pas mettre ceci : if (isset($_SESSION['authentification']))

à la place de ceci : if (session_is_registered("authentification"))

à la ligne 11 ?

Voilà sinon ça à l'air pas mal du tout bravo :)

Commentaire de csiko le 03/09/2005 02:48:28

salut!

Félicitations et merci à Mavounet, excellent code que la V1.2, utilisable quasi-tel quel et très bonne base pour ceux qui ont des notions de PHP et veulent perfectionner le truc. Le word joint contient une explication très détaillée de tout. Téléchargez !

Il faudrait effectivement mettre "  if (isset($_SESSION['authentification'])) " comme dit dans le message du dessus. La fonction est moins gourmande que session_is_registred je crois.


Pour faire avancer les choses :
Que ceux qui ont des problèmes déconnexion après avoir saisi un utilisateur s'évitent des galères en lisant ceci (j'ai détaillé pour les plus newbee que moi, c'est peut-être un peu long, mais vous devriez gagner du temps quand même)

pourquoi ça déconnecte :
Le serveur se mélange les bretelles car la variable de session $_SESSION['privilege'] porte le même nom que celle transmise en post quand on valide le formulaire d'ajout d'utilisateur simple (qui envoie $_POST['privilege']="user" ). $_SESSION['privilege'] prend alors, furtivement, la valeur "user" au lieu de sa valeure initiale : "admin". Vous n'êtes plus loggé en "admin" et logiquement déconnecté.

Il en est de même pour les variables 'prenom' et 'nom' ou toute variable standard qui porterait le même nom qu'une de session (vérifiez si votre prénom/nom est devenu celui de l'utilisateur que vous venez de saisir quand vous retournez sur la page d'accueil).

une solution sûre :
Changer le nom des variables que vous envoyez en post pour qu'ils ne soient pas les mêmes que ceux des variables de session. Dans le formulaire, renommez comme vous voulez les champs de saisie 'privilege', 'nom', 'login'... Ensuite, quand vous les récupérez et les injectez dans la base de donnée, adaptez le nom des variables en conséquence.
Voila un extrait du fichier admin.php modifié (login est devenu loginf, pass=>passf ...simple mais efficace). Il y a quelques autres modifs dans l'extrait mais qui n'ont pas de rapport avec notre soucis) :
(...)
if(($_POST['loginf'] == "") || ($_POST['passf'] == "")){ // si login ou mot de passe non spécifiés >> message d'erreur
header("Location:admin.php?erreur=empty");
}
else if($_POST['passf'] == $_POST['pass2f']){ // vérifie si le mot de passe et le mot de passe confirmé ont la même valeur
// passe toutes les variables $POST en variables
$loginf = addslashes($_POST['loginf']);
$passf = md5($_POST['passf']); // ici, crypte le mot de passe MD5 (j'aime MD5!)
$nomf = addslashes($_POST['nomf']);
$prenomf = addslashes($_POST['prenomf']);
$privilegef = $_POST['privilegef'];
$societef = addslashes($_POST['societef']);
$courrielf = $_POST['courrielf'];
$dateinscr=date("Y-m-d");
// INSERT dans la base de données
$add_user = sprintf("INSERT INTO utilisateurs (login, pass, nom, prenom, privilege, societe, courriel,dateinscr) VALUES ('".$loginf."', '".$passf."', '".$nomf."', '".$prenomf."', '".$privilegef."','".$societef."','".$courrielf."','".$dateinscrf."')");
   mysql_select_db($database_dbprotect, $dbprotect);
   $result = mysql_query($add_user, $dbprotect) or die(mysql_error());
header("Location:admin.php?add=ok"); // redirection si création réussie
}


solution alternative ?
Je pense que c'est à cause de l'option REGISTER_GLOBALS sur "on" dans le php.ini du serveur que ça se produit. En le tournant sur "off" (si vous y avez accès) vous devriez éliminer le problème sans rien toucher au code. J'a pas essayé, mais avec la solution du dessus, le module devrait marcher quel que soit le réglage de REGISTER_GLOBAL.
A confirmer.

long post mais j'éspère utile post.
merci aux codeurs partageurs qui nous ont à tous beaucoup appris. Ne leur en veuillez pas de ne pas fournir un produit fini, on n'apprend rien si tout est déjà fait.
bye.

Commentaire de ludovicanceaux le 25/09/2005 18:20:27

Slt, c bizarre moi j'ai du mal à le faire fonctionner, j'ai créer ma bdd et a par le fichier connection.php, j'ai préférer faire ocune modif pour l'instant, est ce ke quelqu'un sais pk j'ai un message d'erreur:
"Warning: session_start(): open(/var/www/free.fr/a/e/bingomagot/sessions/sess_bd29d5c50aaa93ca6d9d8a19d47f7854, O_RDWR) failed: No such file or directory (2) in /var/www/free.fr/a/e/bingomagot/Admin/index.php on line 10

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /var/www/free.fr/a/e/bingomagot/Admin/index.php:10) in /var/www/free.fr/a/e/bingomagot/Admin/index.php on line 10

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /var/www/free.fr/a/e/bingomagot/Admin/index.php:10) in /var/www/free.fr/a/e/bingomagot/Admin/index.php on line 10

j'ai beau chercher mai je ne sais pô d'ou el vient, merci de m'aider please

Commentaire de xabivalencia le 26/09/2005 10:14:16

t as cree le fichier "sessions" sur free??

Commentaire de ludovicanceaux le 26/09/2005 11:29:05

ah nan, mais c koi ce fichier session

Commentaire de csiko le 26/09/2005 11:31:12

sur free il faut créer un dossier "session" pour que ça marche. Là le serveur n'arrive pas à la démarrer car il ne peut stocker le cookie dans un dossier session qui n'existe pas.
va voir sur cette page :
http://support.free.fr/web/php/php4.html
<i>"important : Pour que vos sessions 'fichiers' (mode par défaut) fonctionnent, vous devez créer un répertoire "sessions" (en minuscules sans les guillemets) à la racine de votre site Web (ou du cas échéant, de votre site Web secondaire). Sinon un message d'erreur vous signalant l'impossibilite de sauvegarder les sessions apparaitra."</i>

Commentaire de ludovicanceaux le 26/09/2005 11:39:42

Bah oki, je te remercie c cool, ca marche maintenant, en tout cas c une super source!!!!!!!!

Commentaire de ludovicanceaux le 26/09/2005 12:07:07

juste un truc, juste comme ca pour savoir est-il possible avec cette source de peaufiner un peu le code et de faire une connection complètement sécuriser "https:" ou alors pe etre que c carrément un otre code k'il fo...... j'en sai rien en fait!!!!!!

Commentaire de mavounet le 26/09/2005 13:38:43

En réponse à ludovicanceaux :

Rien ne t'empêche d'installer HTTPS sur ton serveur apache... et d'utiliser tous les scripts que tu souhaite pour sécuriser tes pages.
Pour se faire, il te faut apache mod_ssl. Ensuite, il te falloir créer un certificat ou en obtenir un auprès d'une entité de certification. (exemple : verisign). Tu peux en générer par exemple pour tester en local avec OpenSSL (soft télécheargeable gratuitement) . Je n'en ai plus en tête, mais il existe de très bon tutoriaux à ce sujet sur le web pour la génération de clés et certificats.
Après celà, il est possible d'affiner la sécurité de ton serveur afin d'empêcher par exemple les connections http et de forcer le https.
Tout se fait au cas par cas. La sécurité d'un serveur web dépendra non seulement de ses scipts, mais également de sa bonne configuration et enfin et surtout de la clairvoyance de son administrateur (toi). En effet, les plus grosses failles de sécurité sont humaines et la plupart des intrusions se font grâce à l'abus de confiance.
Pour sécuriser mon site, je commencerai donc par m'intéresser aux fonctions php, puis à mon php.ini, puis mon httpd.conf. SSL étant la cerise ;) mais qui ne sert à rien sans les tois étapes précédentes.

Petit PS : merci à ceux qui répondent aux questions lorque je n'en ai pas le temps, et à vous tous qui utilisez mon script.

Commentaire de ludovicanceaux le 26/09/2005 20:26:05

oki je te remercie de ta réponse si clair, je vai me documenter, en tout cas c'est un super code que tu a fait là!!!!!!!!!

Commentaire de ludovicanceaux le 27/09/2005 01:08:29

slt, c re moi et j'ai re un problème ;-), comment ca se fait ke kan j'essai d'enregistrer un simple utilisateur (L'admin marche parfaitemement), ca me plante ma session (il m'enregistre quand même mon utilisateur mai il me plante ma session kan même)!!!!!!!

Commentaire de csiko le 27/09/2005 10:39:29

Regarde la réponse un peu plus haut pour les plantages de session (post csiko du 03-09-2005).

Commentaire de thomashainaut le 30/09/2005 19:37:28

Salut,
Tout d'abort je voulai dire merci pour cette superbe source mais j'ai quelques problemes, plusieurs messages s'affiche :

Warning: session_start(): open(/var/www/free.fr/5/e/spyblog/sessions/sess_b18bb8e9e67a50b3ce9b268e22e3df1c, O_RDWR) failed: No such file or directory (2) in /var/www/free.fr/5/e/spyblog/PASS/index.php on line 10

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /var/www/free.fr/5/e/spyblog/PASS/index.php:10) in /var/www/free.fr/5/e/spyblog/PASS/index.php on line 10

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /var/www/free.fr/5/e/spyblog/PASS/index.php:10) in /var/www/free.fr/5/e/spyblog/PASS/index.php on line 10

Warning: Unknown(): open(/var/www/free.fr/5/e/spyblog/sessions/sess_b18bb8e9e67a50b3ce9b268e22e3df1c, O_RDWR) failed: No such file or directory (2) in Unknown on line 0

Warning: Unknown(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/www/free.fr/5/e/spyblog/sessions) in Unknown on line 0

Si vous pouviez me dire comment résoudre ces erreur !
Merci d'avance.

Commentaire de thomashainaut le 30/09/2005 19:48:32

Re !
Ca y est, G réglé le bleme, j'avai oublié le "s" à sessions.
Dsl pour les trois mesage identiques que j'ai envoyé mais mon ordi plantai.
Tout fonctionne a merveille ! 10/10 la source !
Merci

Commentaire de Shibo_Sources le 17/12/2005 22:49:15

10/10 ??
Franchement, c'est foot codé. Aucune indentation, les if/else sans {}(super pas conseillé), des <??> partout ce qui rend le code illisible....

J'ai dl ton script pour l'utiliser, 2h plus tard j'ai fini de recoder tout ton script d'une façon PROPRE. Rhalala, sa ne sert a rien de poster des script inutilisable ou/et illisible.

Commentaire de mavounet le 17/12/2005 23:08:49

En lisant la doc tu aurais pu voir que l'intérêt de ce script est en l'occurence son morcellement. Car il permet de rester interprétable par le WYSIWYG Dreamweaver ou autres... Ainsi, Adios le HTML dans le code que les infographistes détestent pour la mise en page. D'autant plus que le code n'en est pas plus long à l'exécution.
Merci Shibo pour ta contribution UTILE.

Commentaire de Shibo_Sources le 17/12/2005 23:15:52

J'ai parfaitement compris cet aspect, ce "gros" atous...

Il n'empeche que ta source reste "bordelique" et illisible. Et c'est SA que je te reproche. Tellement illisible que je n'ai eu d'autre choix que de tout recoder d'un facon P-R-O-P-R-E.

L'indentation c'est pas bien dure quand même! C'est comme les {}. Tu prefere mettre 5 echo sur la meme ligne plustot que de mettre deux malheureuse guillements... (exemple repris de ton code.)

Donc, OUI ma contribution est utile car si tu code comme un manche alors personne ne lis ton code et donc personne n'apprend réellement. Ils utilisent ton code sans savoir ce qu'il y a derrière...

Commentaire de mavounet le 17/12/2005 23:20:13

Merci de cette précision. C'est bien plus clair, c'est limpide. Te lire est un plaisir. La langue française te doit beaucoup, et moi aussi. Merci.

Commentaire de Cabelec le 22/12/2005 14:05:48

salu a tous !! et d'abord je te félicite mavounet pour le taf ke tu a fait. seulement en php je sui le beginer des beginers, et je ne compren pa pourkoi sur mon serveur ( 1and1 ) , kan je tape l'adresse du répertoire, le message suivant s'affiche :
"Fatal error: Lost connection to MySQL server during query in /homepages/31/d125492146/htdocs/admin/connexion.php on line 13".

et d'ailleur comen utiliser phpmyadmin pour mon serveur ?
Je vous remerci d'avance !!!

Commentaire de mavounet le 22/12/2005 14:31:36

On serveur accepte-t-il mysql_pconnect ? ce sont des connexions persistantes à la base, ce qui permet de factoriser le nombre de connexions.
Après, PhpMyadmin chez 1and1 je ne peux pas t'aider, je n'ai pas essayé cet hébergeur qui fait parler de lui en ce moment avec son offre bizarre. Tu peux certainement l'installer sur ton serveur en copiant les fichirs et en éditant le fichier de conf avec tes paramètres de connexion. Mais attention à la sécurité... Bon courage :)

Commentaire de mavounet le 22/12/2005 14:51:58

Pardon pour la frappe, les touches du clavier (daté au carbonne 14 vers 1792) du boulot sont très très dures ...

Commentaire de Cabelec le 22/12/2005 21:10:15

merci beaucoup pour ton aide !j'essaye sa tou de suite !

Commentaire de Cabelec le 22/12/2005 21:43:20

par contre encore une petite question...
pour PhpMyAdmin, quels fichiers dois je copier? comment et où?
parce que je ne m'y connais rien et après le troisième efferalgan, je te redemande de l'aide !!! lol
merci d'avance !!

Commentaire de mavounet le 02/01/2006 20:04:03

Bonne année à tous !
L'upload de sources ne marchant pas ce soir (peut-être que la mienne est trop lourde), je poste une nouvelle source ici :

CMS écrit pour les utilisateurs de Dreamweaver qui vous permettra de mettre en oeuvre rapidement un site dynamique et complet sur un framework facilement évolutif.

Gestion simple des contenus et mise en forme facile de votre interface.

- Affichage de contenus dynamiques (rubriques, sous-rubriques) en WYSIWYG
- News
- Gestion simple du rubriquage et des contenus
- Paramétrages généraux du site (Edito, pied de page, mots clés, titre etc.)
- Gestion des news
- Outils d'administration (stats, admin BDD, Gestion des utilisateurs)
- Une page sample de contact pour envoyer des emails à l'aide d'un formulaire

Téléchargement :
http://www.borrat.net/sources.php

J'attends vos contribs et remarques par email ou messages privés (pas ici, ce n'est pas l'objet de la discussion).
Bon PHP à tous.

Commentaire de SliWoiD le 10/01/2006 10:00:23

Juste un petit message pour féliciter Mavounet pour la clarté de ses réponses :D Le code ne me sert pas étant donné que j'ai développé le mien mais je l'ai testé par curiosité, le travail est clair et les notes attribuées sont méritées :p
Quant à tes posts sur la sécurité (https & Co.) je confirme ce que tu dis, tu expliques bien, j'y vois d'ailleurs plus clair !
Bonne continuation !

Commentaire de SliWoiD le 10/01/2006 10:02:29

Félicitation Mavounet, ton code ne m'est pas utile puisque j'ai le mien mais il est propre, concis et clair et, qui plus est, tu apportes à ce sujet des réponses attrocement claires et pertinentes :D Bonne continuation !

Commentaire de mavounet le 10/01/2006 10:08:33

merci, tu me diras combien je te dois... Ne poste pas deux fois, j'avais compris la première...
Un admin m'a déjà reproché sur ce site des notes non méritées pour une nouvelle source que je souhaitais poster. Je crois qu'avec les commentaires que tu viens de faire les soupçons ne vont pas cesser :s. Merci d'envoyer ce genre de messages en privé et d'utiliser cet espace pour des critiques ou questions. J'y répondrai volontier. Merci quand même :)

Commentaire de zozo69 le 01/02/2006 21:57:06

tres bonne source merci à plus +++++++

Commentaire de ludovicanceaux le 03/02/2006 21:20:57

Reslt tous le monde, j'ai un autre pb pour la source, seulement il ya pleins de choses ki ont changer depuis la dernière fois, dejà j'ai appris à me servir d'easyphp, dc c cool, mais le truc c ke maintenant o lieu de faire un lien direct vers le fichier connexion, je passe par des includes seulement maintenant le code marche plus, (j'ai fai des tests, quand je passe par un lien direct (ex:Admin\Connexion.php) mais kan je passe par une include ca marche +. Mon URL est fait de cette facon (http://127.0.0.1/MySite/index.php?page=Connection) et en fait sur ma page index il y a $URL = $_SERVER['QUERY_STRING'];
if(! empty ($URL)) { //Si l'URL n'est pas vide
list($chaine1,$chaine2)=explode('=',$URL);
if (file_exists($chaine2. ".php")) //Si ce fichier existe
{ include($chaine2. ".php"); } //On l'ouvre
else {//Par contre si il ne trouve pas l'URL
switch ($chaine2){ //C'est que c'est une otre page à ouvrir
case "Connection";
include ('Admin\Connection.php');
break;}
} }
else{
include ("Index1.php");}?>

Et en fait je comprend pas ca me marque:
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at e:\mes documents\ludo\mysiteweb\index.php:3) in e:\mes documents\ludo\mysiteweb\Admin\Connection.php on line 3

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at e:\mes documents\ludo\mysiteweb\index.php:3) in e:\mes documents\ludo\mysiteweb\Admin\Connection.php on line 3

Merci pour votre aide ca fait maintenant 2 jours ke je cherche le pb mais je trouve pô, merci!!!!!!!!

Commentaire de red_devil617 le 19/02/2006 01:59:07

c un bon script, je l'ai essayer loclement et ca me donne un warning, dans tous les page que je securisé; le voila:

Notice: A session had already been started - ignoring session_start() in c:\program files\easyphp1-8\www\applicationhm\RecherchePd.php on line 3


est ce que tu as une solution , repond vite , et merci

Commentaire de red_devil617 le 19/02/2006 02:02:07

ca marche mais il y a un warning dans tous les pages que je voulais securisé :
Notice: A session had already been started - ignoring session_start() in c:\program files\easyphp1-8\www\applicationhm\RecherchePd.php on line 3
trouve moi une solution svp, et merci

Commentaire de Gecko62 le 28/03/2006 01:06:25

Super code merci beaucoup
quelques petits soucis je n'arive pas à restreindre l'accès à des pages se trouvant dans des répertoires en dessous, message d'erreur au début et affichage des pages sans authentification !!

J'ai essayé de développé une page pour la modification du mot de passe par l'utilisateur, mais impossible !Je ne voulais que l'écraser, mais cela ne fonctionne pas

if(isset($_POST['pass2'])){
  if($_POST['pass1'] == $_POST['pass2']){
    $passf = md5($_POST['pass1']);
// on fait l'INSERT dans la base de données
    $add_user = sprintf("UPDATE utilisateurs (pass) VALUES ('$passf')");
      mysql_select_db($database_dbprotect, $dbprotect);
      $result = mysql_query($add_user, $dbprotect) or die(mysql_error());
      header("Location:change_mdp.php?upd=ok");
  }
  else{
    header("Location:change_mdp.php?erreur=pass");
  }
}

Cela me renvoie le message suivant

Something is wrong in your syntax près de '(pass) VALUES ('01cfcd4f6b8770febfb40cb906715822')' à la ligne 1

la ligne 1 contient <?php require_once('connexion.php'); ?>

Merci de l'aide a tous les gentils lecteurs

Commentaire de Gecko62 le 28/03/2006 19:09:29

Toutes mes excuses pour mon précédent message,

mais j'ai trouvé les raisons de mes problèmes !!

mon problème pour le changement du mot de passe était dû à ma requête UPDATE qui était mal rédigée (mélange de INSERT et de UPDATE)

Pour le problème des fichiers placés dans des sous-dossiers, il ne s'agissait que de la position du script de vérification et d'authentification
            session_start(); // On relaye la session
             if (session_is_registered("authentification"))
qui doit absolument se trouver en début de page (avant les premières balises HTML)

En espérant que cela éclairera un peu la lanterne d'autre webmasters débutants comme moi.

Encore une fois grand merci à Mavounet pour ses scripts fort utiles et très bien documentés

Commentaire de mavounet le 28/03/2006 20:10:58

Tu avais oublié la clause WHERE dans ta requête, il faut revoir un peu la syntaxe c'est tout.
Merci @plus

Commentaire de administrateurlinux le 29/03/2006 01:13:52

Bonjour,

Premièrement bravo et top bien ce scripte.

J'ai une quetsion quand mème, si une personne me dit "msieu, je peux ravoir mon mot de passe je le sais plus", je fais quoi ?

y a t'il moyen de lui redonné ?

Merci d'avance

Commentaire de mavounet le 29/03/2006 10:27:30

Non pas moyen :)
A moins de garder les mots de passe en clair ou d'utiliser un algo réversible.
Mais par contre tu peux très bien regénérer un nouveau ot de passe et lui envoyer un mail pour lui donner...

Commentaire de administrateurlinux le 29/03/2006 11:23:34

Et je pourais faire sa comment, sachant que dans la base de donnée faus la mètre a jour.

Commentaire de ennajarhicham le 07/04/2006 11:43:19

MERCI BCP CHEF

Commentaire de griggione le 06/05/2006 17:56:21

Bonjour

Juste avant d'entrer dans l'asile du coin.........

J'ai tout suivi comme il faut,créé un compte admin,virer toto,etc...ok.
Comme rien n'est indiqué dans lisez-moi,j'ai mis ces lignes trouvée ici, en début de la page ou je désire l'espace membre:
<?php
session_start();
if (session_is_registered("authentification"))
?>

Ensuite,pour vérifier,je me suis déconnecté,ben je rentre toujours sur cette page.
Comment faire pour verifier ce que verra l'invité en arrivant sur cette page?

Commentaire de mortalino le 15/05/2006 14:50:24

Salut,

Je te remercie pour la source. je galère grave pour trouver un code simple et l'adapter...

Je test ça cet aprèm et je te mettrai une note demain.

@++

Mortalino

Commentaire de Xini28 le 25/05/2006 21:23:15

J'ai un problème. J'essaie de me connecter avec l'utilisateur 'toto' et le mot de passe 'mdp', ceux indiqué par défaut, mais cela ne fonctionne pas. Il m'indique une erreur de connexion. Vous sauriez d'où peut provenir l'erreur?

Commentaire de egd4 le 14/06/2006 16:40:02

c'est vrai qu'il est genial ce script, mais moi c'est un tout autre soucis que j'ai, mes variables de sessions changent de temps en temps dans la session courante ! mdr, en fait, d'une page à l'autre, mon login change, mais pas le reste de mes données de session...comprend po...

Commentaire de sly535 le 18/06/2006 21:29:07

Vraiment tres bien ce script, et je félicite tout particulierement la documentation !!! tres bon travail.

Commentaire de seishinji le 29/06/2006 15:50:25

Merci pour ce super script ! Rien que du bonheur en PHP et SQL !!! Merci Merci Merci !!! (^_^)
20/20

Commentaire de MagiXX le 30/06/2006 09:29:34

Bonjour, merci pour ce code bien simpa, mon petit souci a moi, c'est qu'il m'es impossible de me logguer sous firefox, tandis que sous IE sa marche bien..:/

mon erreur sous firefox:

Echec d'authentification !!! > Aucune session n'est ouverte ou vous n'avez pas les droits pour afficher cette page

je suis héberger chez 1&1, j'ai créé un repertoire sessions, j'ai bien inséré les données SQL, tout marche parfaitement sous internet explorer alors que sous firefox sa bug. si toutefois quelqu'un a eu le même soucis sa serait simpa s'il puisse m'aider.

Merci d'avance.

Commentaire de nicomage le 20/07/2006 12:57:02

trop cool
merci beaucoup
10/10

Commentaire de tussjean34 le 01/11/2006 15:34:30

Je trouve ce script génial !!!Mais , je chercherais un script avec un formulaire et mot de passe perdu pour pouvoir retrouver son passe.Merci de votre aide et très bon code Mavounet !

Commentaire de tussjean34 le 01/11/2006 15:34:54

Je trouve ce script génial !!!Mais , je chercherais un script avec un formulaire et mot de passe perdu pour pouvoir retrouver son passe.Merci de votre aide et très bon code Mavounet !

Commentaire de Bumblebee_19 le 08/11/2006 21:37:47

Bonsoir à tous, on l'a déjà dit, mais félicitations pr ce code.. Ca aide les débutants (comme moi) à mieux comprendre la génialité (je sais, ce mot n'existe pas) de php..

Cependant, car il y a tjs un cependant... J'suis en train de faire un site qui nécessite 5 statuts, qui auront la possibilité de mettre à jour séparément des pages de news (nouvelles dates de réunion pr les mouvements de jeunesse). J'ai réussi à créer de nouveau statut,  seulement je n'arrive à faire la redirection comme indiquée :

==> Dans la zone d'affichage admin :
header("Location:URL SI USER SIMPLE")  <==

J'avoue que je ne vois pas trop où est cette partie d'affichage admin, je cherche, je teste mais ne trouve pas et demande donc votre aide! :)

A ce propos, est-ce que je peux, pr ma page d'ajout de News, mettre les valeurs de la table dans l'url et la reprendre comme variable (mapage.php?mabase=user1 par exemple)? Est-ce que le risque est grand de se faire hacker (vu que cette partie est déjà protégée par mdp)? Et si oui, comment s'en protéger?  A moins tt simplement que le langage SQL n'accepte pas le php (ex : mysql_query('SELECT * FROM <?php echo $mabase; ?> WHERE id=' . $_GET['modifier_news']); )

Ne me fustiger pas si j'avance ici des âneries phénoménales... J'apprends!  Peut-être grâce à vous!

Merci d'avance!

Commentaire de shokadelika le 17/01/2007 12:18:45

Merci Mavounet. Je ne connais rien au php et sql, mais ton code va beaucoup m'aider. Je ne réitaire pas les génial, super, enorme, que l'on retrouve sur toute la page mais je n'en pense pas moins.
Je vais tenter inover: Pédagogiquement utile...

;-) @ plus

Commentaire de fernandodecreney le 23/01/2007 22:10:09

Sincèrement, super clair les scripts, j'ai apporté mes modifs sans aucun soucis et ça a fonctionné du premier coup.
Bravo, et merci pour ta grande contribution qui permet à des auto didactes comme moi d'avancer.
note 10/10

Commentaire de lbasic le 25/01/2007 03:10:35

Trop cool, encore bravo !
y'a t'il encore des failles connues sur le script ou ont t'elles été corrigées ?

est tu en train de bosser sur une V2 ?
si oui as tu besoin d'un coup de main ?

@++

Commentaire de lbasic le 25/01/2007 16:38:06

J'ai oblié :
note 10/10

@++

Commentaire de imel le 29/01/2007 11:56:51

bonjour à tous tres bon ce script, tres simple d'installation, mais j'ai neamoins un probleme, lors de la simulation en locale via Easyphp tout fonctionne à merveille mais une fois après avoir mis les fichiers en ligne j'ai le message d'erreur suivant:Fatal error: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) in /homepages/40/d193670966/htdocs/connexion.php on line 13.

Merci pour votre aide...  Pour la note ca merite bien un 10/10 bravo pour ce boulot formidable

Commentaire de imel le 31/01/2007 21:36:33

bonsoir au fait mon pb est resolu, c'etait du cote de l'hebergeur ke ca machait pas, ducoup tout est rentre dans l'autre une fois kil a fait les manips necessaire...
une fois de plus 10/10 pour le script

Commentaire de Bkdenice le 05/02/2007 00:51:04

Bonjour a tous,

Merci a tous pour ce script
Mais une question me trotte
Est it possible de mettre ce script sur Microsoft SQL Serveur ?

Merci d'avance
//Bkdenice

Commentaire de kikong le 23/02/2007 22:46:27

Bonjour à tous,

je viens d'installer ce code sur mon site internet.
J'ai rempli la page connexion, mais quant j'arrive sur la page index je rentre mon login et mot de passe, et un message d'erreur comme quoi mon login ou mot de passe n'est pas autorisé Alors que je les ai rentré.

Est-ce que vous voyez une solution?

Meerci d'avance

Commentaire de paibafall le 04/04/2007 13:25:53

C'est vraiment génial je gere en ce moment une application dans un centre de santé au Sénégal et je ne comprennais pa comment sécuriser mes formulaires.
Mais je ne comprend pas comment on change le mot de pass et le login de l'administrateur c ca mon seul probleme autrement dit je veux supprimer toto et mdp comment faire

Commentaire de akuseru le 12/05/2007 21:07:41

Merci pour ce super script ! Bien commenté et tout :D
10/10

Commentaire de sylvico le 03/07/2007 16:27:08

Je suis daccord avec vous tous, génial !
Cependant, j'aimerais orienter les simples utilisateurs sur d'autres pages.
Quelqu'un peut-il m'aider sur le code à ajouter pour vérifier que la personne est bien connectée avant d'afficher les pages demandées ?? je ne connais pas php, et votre aide me serait très précieuse...!! Merci pour votre travail sur ce script !!

Commentaire de sylvico le 03/07/2007 17:47:10

Je suis daccord avec vous tous, génial !
Cependant, j'aimerais orienter les simples utilisateurs sur d'autres pages.
Quelqu'un peut-il m'aider sur le code à ajouter pour vérifier que la personne est bien connectée avant d'afficher les pages demandées ?? je ne connais pas php, et votre aide me serait très précieuse...!! Merci pour votre travail sur ce script !!

Commentaire de Moritus le 10/01/2008 04:18:58

tres bien fait...

beau code propre (diferrent du miens LOL)


mais j'ai une petite question qui me trote dans la tete

quelle est la difference entre md5 et SHA

moi j'utilise SHA mais vous m'avez mis un doute

Commentaire de kiwikiller le 28/01/2008 10:24:57 10/10

Superbement bien expliqué, c'est génial pour apprendre. Merci beaucoup.

Commentaire de f0xi le 28/01/2008 16:01:34 administrateur CS

@Inekman :
"J'ai juste une remarque à faire, le MD5 n'est pas un algorithme de cryptage mais "juste" une signature numérique de 32 bits. ;-)"

Le MD5 est un algorithme de chiffrement (Hash) irréversible sur 128bits.


@Moritus :
"quelle est la difference entre md5 et SHA ?"

MD5 et SHA sont tout les deux des algorithme de chiffrement (Hash) a l'instar des CRC et autres.
Ils permet de generer une clef plus ou moins unique d'une donnée quelquonque.
Si 1 bits (un 0 ou un 1) est different de la donnée chiffrée, la clef serat totalement differente et trés eloignée (pour eviter le cracking par deduction logique et mathematique).

Liste des hash disponible dans PHP :
MD 2,4,5 (128 bits)
SHA (160 / 192 / 224 / 256 / 384 / 512 bits)
HAVAL (128 / 160 / 192 / 224 / 256 bits)
RIPEMD (128 / 256 / 320 bits)
TIGER (128 / 160 / 192 bits)
WHIRLPOOL (512 bits)
GOST (512 bits)
SNEFRU (128 / 256 bits)

MD5 et SHA1 etant souvent utiliser pour la protection des mots de passes, on test d'abord ces deux la en cas d'attaque.
on peu donc utiliser un autre algo (Haval, Ripe, Tiger) pour rendre la tache plus difficile aux crackers.

On peu utiliser la fonction PHP mhash comme ceci :

  $userpassword = mhash(MHASH_RIPEMD256, $_POST['userpassword']);




Commentaire de Moritus le 28/01/2008 23:26:25

hey bien merci pour cette petite explications

Commentaire de Deadpool04 le 07/02/2008 10:23:47 8/10

salut merci pour cette source bien utile mais j'ai un petit probleme qui n'est pas indiqué dans le lisez moi ou dans la doc , quel code faut il mettre au début d'un page php pour la protéger afin qu'elle puisse etre vu uniquement par un administrateur ?

Commentaire de lechris66 le 21/02/2008 20:16:28

Bonjour,
Une petite remarque, le mot de passe est transmis en clair sur le réseau, pour le vérifier utiliser un snifer, vous verrez, la variable login et pass en clair.
Ensuite il faut ajouter une variable au mot de passe du style timestamp ou autre, car une simple recherche dans une table Rainbow md5, vous donnera le mot correspondant au md5.

Pour palier au défaut du mot de passe en clair, ont peut utiliser le md5.js avec une fonction en javascript, du style :

Dans la page index.php
modif de la variable $pass = addslashes($_POST['pass']);  

<script language="javascript" src="md5.js"></script>
<script language="javascript">
<!--  
  function cryptemd5pass() {
     str = document.connect.pass.value;
     document.connect.pass.value = hex_md5(str);
  }
// -->
</script>

<table width="300"  border="0" align="center" cellpadding="10" cellspacing="0" bgcolor="#eeeeee" class="tableaux">
    <tr>
      <td width="50%""><div align="right">Login.......... :</div></td>
      <td width="50%"><input name="login" type="text" id="login" maxsize="20"></td>
    </tr>
    <tr>
      <td width="50%""><div align="right">Mot de passe.......... :</div></td>
      <td width="50%"><input name="pass" type="password" id="pass" maxsize="20"></td>
    </tr>
    <tr>
      <td height="34" colspan="2"><div align="center">
      <input onClick="return cryptemd5pass();" type="submit" name="Submit" value="Se connecter">
      </div></td>
    </tr>
  </table>

Pour le md5.js : http://pajhome.org.uk/crypt/md5/index.html
Pour les tables Rainbow : http://www.antsight.com/zsl/rainbowcrack/


Voilas pour ma contribution.
@plus
Sinon bravo pour la source !

Commentaire de lassad_haddaji le 18/03/2008 14:48:52

bravo pour la source, bien commenté
et pour le critiqué je peux pas, parce ke jai pas encore fais comme ça ;)

Commentaire de sgenos le 08/04/2008 18:06:22

Ou peu t'on télécharger la derniere version de ce source?

cordialement

Commentaire de sgenos le 08/04/2008 18:07:52

oups desoler c'est la derniere version

cordialement

Commentaire de luc743 le 21/04/2008 13:47:11

Nul !!!

C'est nul a lieu de pompé des scripts la vous les membres vous pouvez pas vous les faire !!! hein !!


C'est sa le php programmer c'est propre script !

Si on pompe tous sur d'autre site et pas il y a plus de plaisir !

Commentaire de souadsaid le 13/05/2008 15:30:24

si je supprime l'utilisateur tuto. donc la base de donnees est vide
comment je pourrais m'authentifié cad avec  quel login et motde passe
Nb:j'ai inséré un enregistrement à partir de phpmyadmin mais ça marche pas! ! !

Commentaire de fasila le 23/05/2008 15:11:07

SALUT MON POTE BON CODE,mais l'adresse que tu posté pour les mise à jour ne fonctionne pas , peut tu le corriger, c ca:
http://www.borrat.net/sources.php

Commentaire de lucas34990 le 08/07/2008 14:58:44

http://xmlchat.allboard.net/

L'adresse du serveur et mort, je pense que c'est pour sa que sa ne marche pas.

Commentaire de nhefti le 25/09/2008 15:54:16 10/10

Top, ça fait 10 jours que je cherche ça !

Beau boulot, et en plus c'est mis à jour;) J'adore.

Commentaire de gmelle le 25/09/2008 17:36:41

Merci.... une petite erreur sur la page d'accueil :

Votre mot de passe est "ee11cbb1543654313435454" (chiffré par MD5 > ne peut donc être vivible en clair).


visible au lieu de visible :D je chipote je sais lol  mais par contre le script est super simple et efficace !!


encore un grand merci et chapeau !!!!!!!!!!!

Commentaire de nhefti le 25/09/2008 22:53:14

J'ai une question : si quelqu'un a perdu son mdp comme cela arrive tout le temps ... Y a t il un moyen de lui restituer ?

De mon côté je pense non car on le stocke seulement une fois hashé. Dans ce cas comment faire ? stocké le mot de passe non hashé autre part ?

Commentaire de gmelle le 26/09/2008 13:25:23

Bein c'est simple, tu supprime l'utilisateur, tu recré un utilisateur du même nom avec un nouveau mot de passe :D

Commentaire de nhefti le 26/09/2008 22:43:17

C'est pas vraiment que ce j'appelle "restituer" un mot de passe, mais ça doit avoir le mérite de marcher.

Merci Gmelle.

Commentaire de karpediem le 24/12/2008 03:07:44

Bonjour à toutesetatous,
Je me pose une question d'ordre algorithmique...
Comment peut-on faire au mieux pour renvoyer le mot de passe perdu par un visiteur s'il est indécodable ?
Cette option est disponible sur tous les sites, même sur phpcs ;o)) J'ai vu plusieurs options...
Vous en pensez quoi ? Qu'est-ce qui vous semble le moins pénible pour l'utilisateur et le plus simple à gérer ? Difficile dilemme ;o))
A bientôt

Commentaire de nino31 le 30/03/2009 16:10:53

Bonjour(soir) à tous,

Cette source m'interresse beaucoup, seulement, quand je vois les coms à propos des failles de sécurité, j'hésite...

Y aurait-il un bon codeur qui pourrait poster une version sécurisée de cette source qui, apparement, me semble très interressante pour le reste ?

Le cas échéant, au 30 mars 2009, quelle est la dernière version sécurisée et ou peut-elle être téléchargée.

Merci à tous

Commentaire de nino31 le 30/03/2009 16:11:09

Bonjour(soir) à tous,

Cette source m'interresse beaucoup, seulement, quand je vois les coms à propos des failles de sécurité, j'hésite...

Y aurait-il un bon codeur qui pourrait poster une version sécurisée de cette source qui, apparement, me semble très interressante pour le reste ?

Le cas échéant, au 30 mars 2009, quelle est la dernière version sécurisée et ou peut-elle être téléchargée.

Merci à tous

Commentaire de nino31 le 30/03/2009 16:11:13

Bonjour(soir) à tous,

Cette source m'interresse beaucoup, seulement, quand je vois les coms à propos des failles de sécurité, j'hésite...

Y aurait-il un bon codeur qui pourrait poster une version sécurisée de cette source qui, apparement, me semble très interressante pour le reste ?

Le cas échéant, au 30 mars 2009, quelle est la dernière version sécurisée et ou peut-elle être téléchargée.

Merci à tous

Commentaire de nino31 le 30/03/2009 16:11:18

Bonjour(soir) à tous,

Cette source m'interresse beaucoup, seulement, quand je vois les coms à propos des failles de sécurité, j'hésite...

Y aurait-il un bon codeur qui pourrait poster une version sécurisée de cette source qui, apparement, me semble très interressante pour le reste ?

Le cas échéant, au 30 mars 2009, quelle est la dernière version sécurisée et ou peut-elle être téléchargée.

Merci à tous

Commentaire de nino31 le 30/03/2009 16:16:10

Désolé pour le bug, j'ai du cliquer 3 fois pour pouvoir valider le commentaire, résultat...

Commentaire de arta le 05/04/2009 16:59:00

Bonjour tous

Bon pas de probleme d'installation.
Maintenant je met quoi dans les pages a protéger ???

Commentaire de nino31 le 05/04/2009 18:11:47

ARTA, pour chaque page protégée, tu copies les codes (en haut de page), comme sur l'exemple de la page "accueil.php".
Puis, aux endroits désirés sur tes pages, tu inclus les lignes d'affichage conditionnel, tout comme sur le modèle accueil.php

Il est vrai que pour les novices, ce n'est pas très bien expliqué...

Bon code

Commentaire de arta le 05/04/2009 18:23:37

Bonjour NINO31

Quand on connait pas, c'est vrai que c'est pas clair du tout.
Donc dans la page a protéger, je doit mettre en haut le code php (comme dans accueil.php) jusqu'à la balise html.

Ensuite, je choisis le dernier code, puisque juste pour utilisateur, que je place au choix dans ma page.

Bon je fais l'essai.

Commentaire de arta le 05/04/2009 18:37:27

RE
Ben non, erreur:

Warning: main(connexion.php) [function.main]: failed to open stream: No such file or directory in /homez.57/xxxxx/xxxxx/fra/log0.php on line 1

Fatal error: main() [function.require]: Failed opening required 'connexion.php' (include_path='.:/usr/local/lib/php') in /homez.57/xxxxx/xxxxx/fra/log0.php on line 1

Commentaire de nino31 le 05/04/2009 23:19:22

1 - Edite le fichier "connexion.php" avec les bonnes infos de ta base de données.
2 - Edite ta page accueil.php (après en avoir bien sur sauvegardé une copie que tu renommes "accueil_original.php") au cas où.

page accueil.php :

<?php require_once('connexion.php');
session_start();
if (session_is_registered("authentification")){ // vérification sur la session authentification (la session est elle enregistrée ?)
// ici les éventuelles actions en cas de réussite de la connexion
}
else {
header("Location:index.php?erreur=intru"); // redirection en cas d'echec
}
  if($_SESSION['privilege'] == "admin") {
  header('location:page_pour_les_admins.php');
  }
  if($_SESSION['privilege'] == "user") {
  header('location:page_pour_les_simples_utilisateurs.php');
  }
?>

Ensuite, dans toutes les pages protégées :

<?php require_once('connexion.php'); // Sauf si cette page n'est pas dans le même repertoire, si c'est le cas, indiquer le bon chemin
session_start(); // On relaye la session
if (session_is_registered("authentification")){ // vérification sur la session authentification (la session est elle enregistrée ?)
// ici les éventuelles actions en cas de réussite de la connexion
}
else {
header("Location:index.php?erreur=intru"); // redirection en cas d'echec
}
?>

Commentaire de arta le 06/04/2009 12:42:30

Bonjour NINO31
Ca avance doucement.

1)Pour la base, les infos sont bonnes puisque je pouvais entrer en admin.
2)J'ai changé le code et c'est bon.
3)Par contre pour le sript a mettre dans les pages sécurisées, il faut rajouter ce commantaire:
header("Location:index.php?erreur=intru"); // redirection en cas d'echec, sauf si cette page n'est pas dans le même repertoire, si c'est le cas, indiquer le bon chemin.

On arrive donc dans l'espace pour entrer le login et pass.
Une fois fait, soit sous admin soit sous utilisateur, le renvoi va vers une page 404.
Et si on sort et qu'on clique à nouveau sur le lien de la page désirée, on entre alors sans problème ????

Commentaire de Khaos_882 le 21/04/2009 16:01:01

Bonjour et merci pour ce code, ignorant total en php et surtout en programmation en général, ce code tombe à point nommé (même s'il date de 2004 :D ).

Je pense avoir compris le fonctionnement global du script, seulement je rencontre des difficulté pour l'adapter à ma base de données apparemment.

A ce niveau, dans le code original:

mysql_select_db($database_dbprotect, $dbprotect);
$verif_query=sprintf("SELECT * FROM utilisateurs WHERE login='$login' AND pass='$pass'"); // requête sur la base administrateurs
$verif = mysql_query($verif_query, $dbprotect) or die(mysql_error());

Le mien modifié:

mysql_select_db($database_pha, $pha);
$verif_query=sprintf("SELECT * FROM ph_users WHERE login='$login' AND pass='$pass'"); // requête sur la base administrateurs
$verif = mysql_query($verif_query, $pha) or die(mysql_error());

Je reçois les erreurs suivante:
Notice: Undefined variable: pha in E:\wamp\www\PHA\index.php on line 17

Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in E:\wamp\www\PHA\index.php on line 17

Notice: Undefined variable: pha in E:\wamp\www\PHA\index.php on line 19

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in E:\wamp\www\PHA\index.php on line 19

Après recherches il me parait que cela vienne du link_identifier sur les lignes mysql_select_db et mysql_query.

Une idée ? Notamment sur la façon d'adapter le code à une autre db?

Merci par avance.

Commentaire de Khaos_882 le 21/04/2009 16:26:54

Mea Culpa!

J'ai oublié de modifié un paramètre dans connexion.php à savoir

$dbprotect que je n'ai pas corrigé...

Commentaire de lomatess le 05/05/2009 18:47:47

Bonjour, je suis débutant en php, et j'aurais voulu savoir, si c'est possible et de quelle façon:

1)Ajouter un formulaire que l'utilisateur remplit pour créer son compte.
2)lorsque l'utilisateur paie une vidéo, lui donner les droits afin qu'il puisse la télécharger.

(c'est pour un projet de site VOD dans le cadre de mes études)

Merci

Commentaire de oxydrine2004 le 31/08/2009 15:02:36

Bonjour à tous...
Débutant en Php, je passe assez souvent ici afin de parfaire mes connaissances et d'en apprendre un peu plus. Un grand merci aux couches tard qui investissent du temps pour faire avancer les choses. Mais je constate régulièrement que certains ont la critique "non constructive" ce qui me rebute à poster mes sources perso...
Lorsque je lis les commentaires de "Maitre REVINC", je manque de motivation ! Bizzard, non ?
Au lieu d'écrire "T'es nul" ou bien "Ca vaut rien ton truc" et autres, sache une chose Môssieur, nous sommes tous passés par la phase apprentissage, même toi !!!
Marche à l'ombre...

Commentaire de raimus88 le 15/11/2009 11:55:29

Bonjour

Tres bonne source. Mais est ce qu'il y a un moyen pour renvoyer le mot de passe crypté en cas d'oublie de son mot de passe ?

Merci d'avance

Commentaire de FXPHANTOM le 02/01/2010 21:48:14

Bonjour à tous !
J'ai deux problèmes dont je n'arrive pas à résoudre , mais pour vous peut être une formalité .

Problème 1 :
lorsque je lance la page accueil.php aprés la connexion a mon compte un message d'erreur apparaît : Deprecated: Function session_is_registered() is deprecated in (... acceuil.php).

Problème 2 :
je souhaites adapter d'autres données à ma table utilisateurs (ville adresse etc) . J'ai inséré ce qu'il fallait dans ma base sql . Mais lorsque j'essaie de l'adapter au fichier accueil.php et que j'essai de l'afficher à partir d'internet explorer rien ne s'affiche . par exemple : j'ai inséré la commande suivant : <span class="donnee"><?php echo $_SESSION['ville']; ?></span> correspondant dans ma table à "ville" .

Alors que dois-je faire ?

Merci d'avance !

Commentaire de FXPHANTOM le 02/01/2010 22:14:09

Veuillez m'excuser mais dans le probleme 2 j'avais oublié de noter le message d'erreur sous firefox : Notice: Undefined index: ville ...

Commentaire de arta le 03/01/2010 08:30:43

Bonjour tous

Il y a surtout que ce script date de 2004 et Mise à Jour: 18 septembre 2005 12:01:21
Beaucoup de chose ont évolué coté mysql mais aussi version php chez les hébergeurs.

Je ne sais pas si mavounet est toujours présent, mais lui ou un autre aurait vraiment une excellente idée en reprenant ce script, en le mettant au gout du jour et en corrigeant les petites erreurs qui permettrait de s'en servir simplement et facilement.

Un readme.txt clair et complet pour tous serait trés appécié ;-)

Commentaire de FXPHANTOM le 03/01/2010 10:38:16

J'ai finalement résolu mais 2 problèmes cette nuit :

donc pour les personnes qui auront le problème 1 : Deprecated: Function session_is_registered() is deprecated in (... acceuil.php) j'ai remplacé:" if (session_is_registered("authentification")) par if (isset($_SESSION['authentification'])) " mais entre "session_start();" et "if (session_is_registered("authentification") && $_SESSION['privilege'] == "admin")"

ensuite pour le problème 2 :
j'ai déclaré les rajouts que j'ai effectué dans ma table "utilisateurs" dans le fichier qui sert à l'identification du membre dans la partie suivante :

...
$_SESSION['prenom'] = $row_verif['prenom'];
$_SESSION['email'] = $row_verif['email'];
...

Voila c'est tout ! Bonne année 2010 dans tous les cas

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,530 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales