begin process at 2012 05 27 18:10:21
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Sécurité & Cryptage

 > PROTECTION DE VOS PAGES PAR LOGIN ET MOT DE PASSE : SYSTEME SECURISE

PROTECTION DE VOS PAGES PAR LOGIN ET MOT DE PASSE : SYSTEME SECURISE


 Information sur la source

Note :
9,9 / 10 - par 10 personnes
9,90 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Sécurité & Cryptage Classé sous :protection, login, passe, sécurisé, cookie Niveau :Initié Date de création :19/05/2004 Date de mise à jour :17/12/2008 10:48:10 Vu / téléchargé :16 836 / 2 973

Auteur : pgpp

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

 Description

Utilise les cookies et mySql.
Protégez totalement votre site en 5 minutes !
En effet, il suffit de rajouter ceci en haut de toutes vos pages :

<?
$auth=false;
include('inc/secure.php');
if($ auth!=true || !file_exists('inc/secure.php')) die("Erreur d'authentification. <a href='.'>Retour.</a>");
?>

Et rien de plus !

Il y a un espace administrateur où vous pouvez gérer vos membres.


 Conclusion

Pourquoi inviolable ?
D'abord parce qu'il utilise les cookies (et donc impossible d'intercepter la connexion depuis un autre poste), ensuite parce qu'il possède un script d'auto-déconnexion, enfin parce que les mots de passe sont cryptés (l'un avec la clé de la base de données, l'autre avec l'IP). Ce qui fait que si l'utilisateur ne se déconnecte pas (s'il y arrive ;)), quelqu'un qui passera derrière lui n'aura pas accès aux pages protégées car il aura certainement changé d'IP entre temps.

Ooops! j'avais oublié de mettre les instructions d'installation, désolé ;)

INSTALLATION :
Modifiez les valeurs du fichier 'inc/cbdd.php' selon votre serveur mySql
Créez la table contenue dans 'base.txt'

L'admin par défaut est :
Nom d'utilisateur : admin
Mot de passe : root
Veillez à chager le mot de passe dans l'espace administration
NB : il n'y a qu'un administrateur. (mais si vous êtes nombreux à le demander, j'en mettrai plusieurs, et je mettrai aussi des privilèges pour accéder à différentes pages)

 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

17 décembre 2008 10:27:32 :
Compatibilité PHP5
17 décembre 2008 10:48:10 :
Compatibilité PHP5

 Sources du même auteur

Source avec Zip Source avec une capture CREEZ DE LA 3D SUR VOS IMAGES AVEC 1 LIGNE DE CODE
Source avec Zip UNE BASE DE RECETTES DE CUISINE (AVEC MOTEUR DE RECHERCHE)
Source avec Zip CHAT BETA1 AVEC SALONS (PUBLICS,PRIVÉS,PROTÉGÉS) ET PROFIL U...
Source avec Zip Source avec une capture UN GRAPHIQUE CAMEMBERT EN 3D
Source avec Zip ÉDITEUR PHP AVEC COLORATION SYNTAXIQUE EN TEMPS REEL (PROTOT...

 Sources de la même categorie

Source avec Zip Source avec une capture CAPTCHA AJAX ANTI-BOT par darkvador59
Source avec Zip Source avec une capture ACCÈS, ESPACE MEMBRE AVEC INSCRIPTION ET DÉSINSCRIPTION PAR ... par stephelle
Source avec Zip CRYPTAGE REVERSIBLE par Mokost
Source avec Zip Source avec une capture CREATION DE COMPTE AVEC CRYPTAGE ET ESPACE DE CONNEXION SEC... par bm1982
PROTÉGEZ VOS LIENS DE TÉLÉCHARGEMENT PAR MOT DE PASSE ET/OU ... par unlien

 Sources en rapport avec celle ci

UPLOADER DES FICHIER DANSUN DOSSIER, SÉCURISÉ AVEC MOT DE PA... par raizzo
Source avec Zip Source avec une capture LOGIN SHA1 + CRÉATION UTILISATEUR par aventurier19
Source avec Zip PROTÉGER UNE PAGE PAR UN MOT DE PASSE SANS COOKIES par Hitoshi54
Source avec Zip SYSTÈME D'IDENTIFICATION par Farfadh
Source avec Zip Source avec une capture PRIVATE -> PROTECTION DE PAGES PERSONNELLES par ImmortalPC

Commentaires et avis

Commentaire de shoghi le 24/05/2004 12:32:38

Bonjour,

pas mal le script, mais il n'y a pas de fichier c.php dans /inc
J'ai donc modifié les valeurs dans cbdd.php

Quand j'essaye de me loguer, je vois apparaître "var manquante" pendant 1/2 seconde, et ensuite il revient à la page du login.

Peux-tu me dire d'où cela vient?

Merci d'avance,


Sho

Commentaire de pgpp le 24/05/2004 22:25:23

Var manquante est un message d'erreur généré par secu.php, il veut dire que le cookie ne contient pas la variable $user ou $pwc
Donc vérifie simplement que tu entres bien par Index.php, et que ton navigateur accepte les cookies.

Commentaire de shoghi le 27/05/2004 19:34:22

ok impeccable, ça fonctionne, le firewall bloquait les cookies.

A bientôt,

Sho

Commentaire de torrus le 29/05/2004 04:24:04

Je n'arrive pas à le faire fonctionner. Je tente de me connecter mais la page de login se réaffiche sans qu'aucun message n'apparaisse. Les cookies sont activés.

Commentaire de idamien le 03/06/2004 01:21:43

Très bon script PHP !
Seulement n'y a t-il pas moyen de se passer de la page "deco.php" qui s'affiche dans la barre des taches Windows ? Cette page parasite un peu l'affiche et certain user se demande a quoi elle sert !

Merci d'avance

DD

Commentaire de torrus le 04/06/2004 01:00:55

OK j'ai trouvé. Ce script ne fonctionne que si register_globals = ON (non recommandé depuis version 4.2 de PHP). Depuis la version 4.2 cette option est à OFF par défaut.

Commentaire de leon141fr le 05/06/2004 22:58:42

J ai un petit probleme je narrive pas a supprimer les news ni les modifier je sais pas si j ai un probleme avec news.bdd

Commentaire de kalachnikov le 06/06/2004 14:01:58

cryptage apprécié des mots de base avant de les insérer dans la base,
mais le mot de passe passe quand même en clair sur le réseau...

Commentaire de pgpp le 06/06/2004 22:06:32

si tu as une idée pour que le mot de passe ne passe pas en clair a un moment ou a un autre, ton avis me sera très utile... malheureusement, je ne crois pas cela possible en PHP !

Mais si tu as la solution, n'hésite pas à la crier sur les toîts (dans ma direction de préférence ;) )

Commentaire de shoghi le 09/06/2004 00:03:43

Bonsoir,

le script fonctionne très bien maintenant. Mais en l'utilisant, j'ai remarqué que la fin de session n'était pas très commode. En effet, il faut fermer la fenêtre pour quitter, et le script ré-ouvre une nouvelle fenêtre demandant le login et le mot de passe. Ce ne serait pas plus facile d'avoir un "logout"? As-tu une idée, ou peux-tu m'indiquer comment effectuer ce changement?

Merci d'avance,


Sho

Commentaire de pgpp le 10/06/2004 13:03:40

Oui, il suffit d'avoir un lien qui pointe sur l'url : "deco.php?deco=1"
Du style :
&lt;a href="deco.php?deco=1" target="_top"&gt;Se déconnecter&lt;/a&gt;

Le problème du bouton "Logout" est que si l'utilisateur ne clique pas dessus avant de fermer la fenêtre, son compte reste ouvert et donc non sécurisé.

Commentaire de pgpp le 11/06/2004 17:10:18

Désolé, j'ai carrément lu ton commentaire de travers o_O
Le problème est que sous IE en Javascript, on ne peut faire un window.close() sans l'affichage d'un message de confirmation "la page web tente de fermer cette fenêtre..." que si la-dite fenêtre à été ouverte par window.open()
Après identification, la page Index.php ouvre Deco.php (via window.open()) pour l'afficher hors de l'ecran (pour éviter qu'on ne la ferme accidentellement).
Si malheureusement on ferme cette fenêtre, le &lt;body onUnload="window.open('deco.php?deco=2')"&gt; assure et avertit de la déconnexion accidentelle.
Mais lors d'une déconnexion normale, l'exécution de la fonction javascript deco() entraine un changement d'url (modification de document.location.href), donc entraine le déchargement du body, d'où l'ouverture d'une page "deco.php?deco=2". Mais "deco.php?deco=1" à déjà eu lieu, donc lors du test d'authentification par "secu.php" les variables cookies sont déclarées manquantes, "deco.php?deco=2" affiche donc "Index.php" (cf. $index dans secu.php).

Il faut donc que "deco.php?deco=2" ne s'ouvre pas lors d'une déconnexion normale (c-à-d par fermeture de la fenêtre parent). Il faut donc modifier le code de la page "deco.php" ainsi :
A partir de la balise body :

  &lt;body onUnload="if(!normal)window.open('deco.php?deco=2');"&gt;
  &lt;script&gt;
  var normal=false;

Puis dans la fonction deco() :

  normal=true;
  document.location.href='deco.php?deco=1';


Si tu n'y arrives pas, attends que je mette ce script à jour (dans 2 semaines...)

Commentaire de shoghi le 13/06/2004 01:42:42

voilà le source de deco, pour ceux qui ne savent pas attendre 2 semaines lol !!

&lt;?
$auth=false;
include('inc/secure.php');
if($auth!=true || !file_exists('inc/secure.php')) die("Erreur d'authentification. &lt;a href='.'&gt;Retour.&lt;/a&gt;");

if($deco==1 || $deco==2)
{
  setcookie('id');
  setcookie('pwc');
  if($deco==1)
    script("window.close();");
  else
    echo("Le service est indisponible.");
  die();
}
?&gt;
&lt;title&gt;deco&lt;/title&gt;
&lt;body onUnload="if(!normal)window.open('deco.php?deco=2');"&gt;
&lt;script&gt;
var normal=false;
testWnd();
function testWnd()
{
  if(!opener || opener.closed || opener.document.all['indexphp']) //si fermé ou page d'accueil
    deco();
  else
    setTimeout("testWnd()",3000)
}
function deco()
{
  normal=true;
  document.location.href='deco.php?deco=1';
}
&lt;/script&gt;



Un grand merci à pgpp pour ce superbe script!!

A bientôt,

Sho

Commentaire de RedFo1 le 18/06/2004 08:40:43

salut,
je n'ai pas essayé le script, mais d'après ces commentaires, il a l'air très bien, seulement, je me demande si l'utilisation d'un browser qui bloque les popups (genre Opera ou Crazy Browser) ne risque pas de poser des problèmes. Quelqu'un a essayé ?

Commentaire de shoghi le 18/06/2004 08:53:48

Salut,


Non, je n'ai essayé qu'avec IE6 pour l'instant, et cela fonctionne très bien.

Bonne journée à tous

Sho

Commentaire de revinc le 23/06/2004 12:38:03

C'est beau la modestie "SYSTEME PRATIQUEMENT INVIOLABLE". Heureusement que tu as mis "pratiquement".

Avec ton système, on peut juste récupérer tous les identifiants correspondant à 1 mot de passe, ce qui facilite amplement le travail du hacker.

Dommage que MySQL ne supporte pas les UNION, INTERSECT, MINUS et autres, j'aurais eu un accès complet à ta base de données.

Il est temps de corriger tes injections SQL, voilà tout.

Commentaire de pgpp le 27/06/2004 12:51:13

C'est corrigé, merci !

Le blocage des popup empèche l'ouverture de la page de déconnexion en effet !

Il faut aussi activer register globals.
Mais ceci est du à une erreur de ma part :
Remplacer toutes les occurences de $REMOTE_ADDR par $HTTP_SERVER_VARS['REMOTE_ADDR'] et vous n'aurez plus besoin d'activer cette direcitive obsolète.
Désolé !

Pas mal sinon ce script, aller je mets 10/10 ;)

Commentaire de totof39 le 29/07/2004 23:40:24

Super ton script, mais j'ai juste un pti pb
Lors de la deconnexion ou quand je ferme ma fenetre principale il reste tjs cette fenetre deco.
Comment faire pour la supprimer ?
Merci

Commentaire de pgpp le 31/07/2004 14:27:34

Elle se ferme théoriquement toute seule via le javascript : window.close()
J'ignore la cause de ton erreur, désolé !

Commentaire de jotrash le 04/09/2004 17:35:31

Hum comment faire pour un systeme pareil pratiquement inviolable mais sans utiliser les cookies, car beaucoup de navigateurs refusent les cookies enfin beaucoup d'utilisateurs les refusent donc comment faire ?svp, personnellement je passe par des sessions et ca marche pas mal mais je ne saurais pas trop contrer par exemple un aspirateur de site (je ne suis pas sur de lefficacite des liens qui envoie vers nulle part) donc si quelqu'un veut bien me repondre... merci d'acvance

Commentaire de pgpp le 11/09/2004 11:22:54

Contre les aspirateurs de site, il suffit d'écrire tes liens en javascript :
<div onClick="document.location.href='mapage'+'.htm'">mapage</div>
(le + c'est pour les aspirateurs 'intelligents' qui recherchent des noms de fichier dans le code...)

Pour passer des variables sans passer par les cookies, utilise le tableau _GLOBALS[], par exemple :
_GLOBALS['myCBCode']=$myCBCode;

Commentaire de Mercury_be le 23/10/2004 14:29:27

superbe script, que je n'arrive malheureusement pas à intégrer à mes pages... je sais... suis nul, mais j'ai beau faire j'ai toujours "service indisponible"

quand je coupe le firewall, alors ca passe, parfois... le browseur accepte les cookies mais alors j'ai var manquante...

sais pas quoi faire... je peut pas demander aux personnes qui visite le site de couper leur firewall non plus :s

tu sais m'éclairer... je débute en PHP...
merci

Commentaire de Marshall_Mathers le 26/11/2004 20:18:36

Salut à tous,

J'ai un petit problème : J'ai insérer la page index.php que j'ai renommer login.php avec un include... Là où ça coince c'est qu'il mme dit a chaque fois que le pass n'est pas bon !! (g pourtant vérifier la meme appart et ele marche). Mais c'est du a quoi ??

Commentaire de mrfox le 04/06/2005 09:05:56

Salut Tous,

Je me rend compte qu'il est possible d'avoir 2 meme login, comment faire pour ne pas avoir de doublons dans les login ?
SUperbe source en tout cas :)

Merci

Commentaire de pgpp le 09/06/2005 10:13:20

Active le flag UNIQUE sur le champ login de la table MySQL des utilisateurs.
Sinon, avant la requête d'insertion d'un nouvel utilisateur, recherche si un login identique existe déjà, et le cas échéant, affiche le message "Login déjà utilisé".

Commentaire de mrfox le 09/06/2005 10:18:18

OK, merci c'est comme ca que je l'ai fait car entre temps j'ai trouvé ;)

Commentaire de PARDE le 15/06/2005 17:09:23

Trés beau script. Mes compliments !!! Ca faisait longtemps que je cherchais à faire la même chose.

Commentaire de tokita le 04/07/2005 17:14:58

je ne peut pas me connecter j'ai le message

Warning: mysql_select_db(): A link to the server could not be established in /var/www/free.fr/1/5/azikan/V4/admin/inc/cbdd.php on line 3

Warning: mysql_query(): A link to the server could not be established in /var/www/free.fr/1/5/azikan/V4/admin/index.php on line 28
Erreur sql :

Commentaire de tokita le 04/07/2005 17:17:55

je ne peut pas me connecter j'ai le message

Warning: mysql_select_db(): A link to the server could not be established in /var/www/free.fr/1/5/azikan/V4/admin/inc/cbdd.php on line 3

Warning: mysql_query(): A link to the server could not be established in /var/www/free.fr/1/5/azikan/V4/admin/index.php on line 28
Erreur sql :

Commentaire de matters le 06/12/2006 00:01:53


Source bien écrite même si... Mais le titre me fait délirer.
Quote "SYSTEME PRATIQUEMENT INVIOLABLE"
=> Ca ne ce dit pas.

Commentaire de pgpp le 11/12/2006 17:33:30

Ca ne _se_ dit pas !
Mais... j'était jeune, vous comprenez...

Commentaire de fantomas3800 le 17/12/2008 03:09:11

et voila presque 2009 et j utilise ta source.. par contre je tombe sur cette erreur ..
Fatal error: Cannot redeclare hash() in /home/websitev/public_html/abbott/inc/biblio.php on line 30


une idee ?
merciii

Commentaire de fantomas3800 le 17/12/2008 03:10:44

je precise je debute ! Donc suis un peu perdue .. merci

Commentaire de pgpp le 17/12/2008 10:52:50

J'ai mis à jour le source pour rendre compte des remarques ci-dessus, et assurer la compatibilité PHP5.
Cet exemple est mal codé, beaucoup de choses y sont inutiles. Mais il a le mérite de fonctionner à peu près, d'être assez simple et quelque peu didactique, alors je le laisse.

Avec 4 ans de retard, je ne me mettrai pas 10/10...
Ah que de souvenirs... :')

Commentaire de lanner le 24/12/2008 12:25:07

Salut
Je ne suis pas un expert mais il est vrai juste quelques lignes font peur :) d'ailleurs je me demande comment le script fonctionne (pas réussi encore héhé)
dans l'index.php : <?if(!user || !$pw){?>   << la c'est clair que c'est impossible à executer
Il faudrait que tout le code soit remis au "propre" : <?   :)

Commentaire de Xgre le 14/02/2009 18:07:34

J'ai installé le tout sur mon serveur mais impossible de faire fonctionner.
Lorsque je me connecte sur index.php, rien ne se passe?
Merci pour votre aide.
Je suis héberger sur webou.net

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Combiner Cookie et Session [ par apz ] salut,en fait je voudrais ajouter une zone membres dans mon site.je voulais combiner cookie et session : le cookie sert au login automatique de l'util EasyPhP [ par ekinoks ] Salut all !!!!j'aurais une petite question a vous poser sur easyphp :^/j'aimeré que ma base de donné qui est sur mon pc puisse étre accessible par un sessions [ par miss07 ] Bonjour, je viens de commencer à apprendre PHP et je voudrai savoir si avec une session on peut faire une vérification d'un mot de passe et d'un login cookies et sql [ par lpefec ] j'ai un petit problème :j'essaie de faire un site avec des page sécurisé...je suis capable de securisé les page mais les informations de "login" ne so cookies et sql [ par lpefec ] j'ai un petit problème :j'essaie de faire un site avec des page sécurisé...je suis capable de securisé les page mais les informations de "login" ne so login et mot de passe [ par developvbdebut ] Bonjour tout le monde.Je suis en trein de réaliser un fichier.php qui aurais accés sur trois autres fichiers php selon le login et mot de passe.d'apre connexion sécurisé a une BD [ par mezaya ] Bonjour,Je suis débutant en PHP et j'ai lu que pour ce connecter a une BD on utilisait la fonction mysql_connect('host', 'login', 'pwd');mais le logi Suppression Cookie impossible.... [ par Benjamin G ] Bonjour,Voila je voudrais supprimer un cookie pour un espace membre donc la page serait logout.phpVoici mon code de création du cookie :if ($login==$a Génération de login & mot de passe à partir des données d'un formulaire ? [ par wakgen ] salut tt le monde Je cherche une methode pour g&#233;n&#233;rer un login et un mot de passe &#224; partir des donn&#233;es entr&#233;es dans un form Problème session zone membres [ par Florent06 ] Bonjour Lorsque je me connecte, je suis redirig&#233; vers la page zonemembre.php et voici son code : &lt;?php session_start(); ligne 2 require 'con


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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,858 sec (3)

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