begin process at 2008 05 17 07:40:48
1 173 922 membres
53 nouveaux aujourd'hui
13 973 membres club

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

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


Information sur la source

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é: 44 407 / 12 818

Note :
9,16 / 10 - par 61 personnes
9,16 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (120)
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.
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

18 septembre 2005 12:01:21 :
+ de sécurité + facile à installer + de documentation pour tout comprendre
  • signaler à un administrateur
    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 !

  • signaler à un administrateur
    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 !!!

  • signaler à un administrateur
    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

  • signaler à un administrateur
    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 ;)

    ++

  • signaler à un administrateur
    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.

  • signaler à un administrateur
    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-

  • signaler à un administrateur
    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.

  • signaler à un administrateur
    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 ?

  • signaler à un administrateur
    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 ?

  • signaler à un administrateur
    Commentaire de romalafrite le 10/05/2004 23:58:48

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

  • signaler à un administrateur
    Commentaire de itris le 11/05/2004 08:31:10

    Tres bon script !
    Bien commenté !
    Facilement adaptable !

    Bref ... Superbe boulot !
    ;-)

  • signaler à un administrateur
    Commentaire de Thomas57 le 20/05/2004 19:53:04

    10/10 BRAVO ! :))

  • signaler à un administrateur
    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

  • signaler à un administrateur
    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.
    ;) +

  • signaler à un administrateur
    Commentaire de Kevin007 le 17/06/2004 17:48:52

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

  • signaler à un administrateur
    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...:-(

  • signaler à un administrateur
    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

  • signaler à un administrateur
    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.

  • signaler à un administrateur
    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.

  • signaler à un administrateur
    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.

  • signaler à un administrateur
    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

  • signaler à un administrateur
    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

  • signaler à un administrateur
    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

  • signaler à un administrateur
    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...

  • signaler à un administrateur
    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!

  • signaler à un administrateur
    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 ;-)

  • signaler à un administrateur
    Commentaire de massacr le 29/09/2004 14:01:49

    Ce script est vraiment super

  • signaler à un administrateur
    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

  • signaler à un administrateur
    Commentaire de Mercury_be le 23/10/2004 16:19:39

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

  • signaler à un administrateur
    Commentaire de Mercury_be le 23/10/2004 16:21:16

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

  • signaler à un administrateur
    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???

  • signaler à un administrateur
    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

  • signaler à un administrateur
    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 ;)

  • signaler à un administrateur
    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

  • signaler à un administrateur
    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 ;)

  • signaler à un administrateur
    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.

  • signaler à un administrateur
    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.

  • signaler à un administrateur
    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 !!!

  • signaler à un administrateur
    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.

  • signaler à un administrateur
    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 ?

  • signaler à un administrateur
    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

  • signaler à un administrateur
    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

  • signaler à un administrateur
    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 !

  • signaler à un administrateur
    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!

  • signaler à un administrateur
    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.

  • signaler à un administrateur
    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

  • signaler à un administrateur
    Commentaire de Oziris le 01/07/2005 08:39:52

    un petit exemple serai le bienvenue
    merci

  • signaler à un administrateur
    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 !

  • signaler à un administrateur
    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 :)

  • signaler à un administrateur
    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.

  • signaler à un administrateur
    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

  • signaler à un administrateur
    Commentaire de xabivalencia le 26/09/2005 10:14:16

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

  • signaler à un administrateur
    Commentaire de ludovicanceaux le 26/09/2005 11:29:05

    ah nan, mais c koi ce fichier session

  • signaler à un administrateur
    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>

  • signaler à un administrateur
    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!!!!!!!!

  • signaler à un administrateur
    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!!!!!!

  • signaler à un administrateur
    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.

  • signaler à un administrateur
    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à!!!!!!!!!

  • signaler à un administrateur
    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)!!!!!!!

  • signaler à un administrateur
    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).

  • signaler à un administrateur
    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.

  • signaler à un administrateur
    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

  • signaler à un administrateur
    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.

  • signaler à un administrateur
    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.

  • signaler à un administrateur
    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...

  • signaler à un administrateur
    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.

  • signaler à un administrateur
    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 !!!

  • signaler à un administrateur
    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 :)

  • signaler à un administrateur
    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 ...

  • signaler à un administrateur
    Commentaire de Cabelec le 22/12/2005 21:10:15

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

  • signaler à un administrateur
    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 !!

  • signaler à un administrateur
    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.

  • signaler à un administrateur
    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 !

  • signaler à un administrateur
    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 !

  • signaler à un administrateur
    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 :)

  • signaler à un administrateur
    Commentaire de zozo69 le 01/02/2006 21:57:06

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