begin process at 2012 05 27 21:48:19
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Formulaires

 > IDENTIFICATION PAR COOKIES SIMPLE ET ADAPTABLE

IDENTIFICATION PAR COOKIES SIMPLE ET ADAPTABLE


 Information sur la source

 Description

S'identifier sur une page simplement avec les cookies, protéger un petit espace de gestion comme une page administration pour une galerie de photos ... (php5)

Source

  • <?php
  • $username = "login"; // à personnaliser
  • $password = "pass"; // à personnaliser
  • $randomword = "fshjjsfjsf"; // ce que tu veux
  • //on peut mettre l'IP du visteur pour plus de securité
  • // decommenter la ligne çi-dessous
  • // $randomword .= $_SERVER['REMOTE_ADDR'];
  • $cookie = md5($password.$randomword);
  • //deconnection
  • if (isset($_GET['p']) && $_GET['p'] == "logout") {
  • setcookie('MyLoginPage', md5(time()) );
  • header("Location: $_SERVER[PHP_SELF]");exit;
  • }
  • //test pour valider la connection
  • if (isset($_GET['p']) && $_GET['p']=="login") {
  • if ($_POST['name'] != $username) {
  • echo "<p>Login ?</p>";
  • //si on veut cacher le control çi-dessus decommenter la ligne çi-dessous
  • //header("Location: $_SERVER[PHP_SELF]");exit;
  • } else if ($_POST['pass'] != $password) {
  • echo "<p>Password ?</p>";
  • //si on veut cacher le control çi-dessus decommenter la ligne çi-dessous
  • //header("Location: $_SERVER[PHP_SELF]");exit;
  • } else if ($_POST['name'] == $username && $_POST['pass'] == $password) {
  • if(setcookie('MyLoginPage', md5($_POST['pass'].$randomword))) {
  • header("Location: $_SERVER[PHP_SELF]");exit;} else {
  • exit('Activer les cookies sur votre navigateur !');
  • }
  • } else {
  • echo "<p>Erreur rafraichir la page !</p>";
  • //si on veut cacher le control çi-dessus decommenter la ligne çi-dessous
  • //header("Location: $_SERVER[PHP_SELF]");exit;
  • }
  • }
  • // On affiche le contenu AUTREMENT on doit s'identifier ...
  • if (isset($_COOKIE['MyLoginPage']) && $_COOKIE['MyLoginPage'] == $cookie) {
  • ?>
  • <center>
  • <a href="?p=logout">Me deconnecter !</a><br />
  • CONTENT HERE <!-- ou un include php -->
  • </center>
  • <?php
  • exit;
  • } else {
  • $form = '
  • <form action="'.$_SERVER['PHP_SELF'].'?p=login" method="post">
  • <fieldset>
  • <label><input type="text" name="name" id="name" /> Votre login</label><br />
  • <label><input type="password" name="pass" id="pass" /> Votre password</label><br />
  • <input type="submit" id="submit" value="Login" />
  • </fieldset>
  • </form>';
  • //mauvais cookie
  • echo "<p>IDENTIFIER VOUS !</p>";
  • echo $form;
  • exit;
  • }
  • ?>
<?php
$username = "login"; // à personnaliser
$password = "pass";  // à personnaliser
$randomword = "fshjjsfjsf"; // ce que tu veux

//on peut mettre l'IP du visteur pour plus de securité
// decommenter la ligne çi-dessous
// $randomword .= $_SERVER['REMOTE_ADDR']; 

$cookie = md5($password.$randomword);

//deconnection
if (isset($_GET['p']) && $_GET['p'] == "logout") {
setcookie('MyLoginPage', md5(time()) );
header("Location: $_SERVER[PHP_SELF]");exit;
}

//test pour valider la connection

if (isset($_GET['p']) && $_GET['p']=="login") {
   
   if ($_POST['name'] != $username) {
      echo "<p>Login ?</p>";
      //si on veut cacher le control çi-dessus decommenter la ligne çi-dessous
      //header("Location: $_SERVER[PHP_SELF]");exit;
   } else if ($_POST['pass'] != $password) {
      echo "<p>Password ?</p>";
      //si on veut cacher le control çi-dessus decommenter la ligne çi-dessous
      //header("Location: $_SERVER[PHP_SELF]");exit;
   } else if ($_POST['name'] == $username && $_POST['pass'] == $password) {
      
               if(setcookie('MyLoginPage', md5($_POST['pass'].$randomword))) {
               header("Location: $_SERVER[PHP_SELF]");exit;} else {
               exit('Activer les cookies sur votre navigateur !');
               }
   
   } else {
      echo "<p>Erreur rafraichir la page !</p>";
      //si on veut cacher le control çi-dessus decommenter la ligne çi-dessous
      //header("Location: $_SERVER[PHP_SELF]");exit;
   }
}

// On affiche le contenu AUTREMENT on doit s'identifier ... 

if (isset($_COOKIE['MyLoginPage']) && $_COOKIE['MyLoginPage'] == $cookie) {

?>
      <center>
      <a href="?p=logout">Me deconnecter !</a><br />
      
      CONTENT HERE <!-- ou un include php -->
      
      </center>

<?php
exit;

} else {

$form = '
<form action="'.$_SERVER['PHP_SELF'].'?p=login" method="post">
<fieldset>
<label><input type="text" name="name" id="name" /> Votre login</label><br />
<label><input type="password" name="pass" id="pass" /> Votre password</label><br />
<input type="submit" id="submit" value="Login" />
</fieldset>
</form>';

//mauvais cookie
echo "<p>IDENTIFIER VOUS !</p>";
echo $form;
exit;
}
?>



 Sources du même auteur

Source avec Zip Source avec une capture GENERATEUR DE BOUTONS DE PARTAGES POUR RESEAUX SOCIAUX
Source avec Zip Source avec une capture FORM TO MAIL AVEC PROTECTION PAR TOKEN ET CAPTCHA CONTRÔLES ...
Source avec Zip Source avec une capture MOTEUR DE RECHERCHE SUR BASE MYSQL FULLTEXT ET BOOLEAN AVEC ...
Source avec Zip Source avec une capture PAGINATION JAVASCRIPT PHP MYSQL
Source avec Zip Source avec une capture GESTIONNAIRE DE NEWS BASIQUE AVEC UPLOAD D'IMAGES

 Sources de la même categorie

Source avec Zip Source avec une capture VALIDATEUR DE FORMULAIRE par Reldan
Source avec Zip SUIVI SERVICE CLIENT PHP par hige52
Source avec Zip POO - FORMULAIRE NEWSLETTER PHP - PROFESSEUR-PHP.COM par mtrix000
Source avec Zip Source avec une capture SELECTEUR DE NOTE par Reldan
Source avec Zip Source avec une capture ESPACE MEMBRE , AVEC CASE OPTIONNEL , SANS MYSQL par sartoz

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture VALIDATEUR DE FORMULAIRE par Reldan
Source avec Zip Source avec une capture ESPACE MEMBRE , AVEC CASE OPTIONNEL , SANS MYSQL par sartoz
Source avec Zip CLASSE UTILISATEUR POUR GESTION SIMPLE DE LOGIN ET DROITS par Archima
Source avec Zip EXEMPLE DE CLASSE DE GESTION DE PAGE DE FORMULAIRE par charliecollard
Source avec Zip Source avec une capture CRÉER UN ACCÈS MEMBRE SUR VOS PAGES AVEC FORMULAIRE D'INSCRI... par Krozone

Commentaires et avis

Commentaire de Nort0n le 22/10/2010 18:45:33

Bonsoir,

Je n'ai pas testé le script, mais plusieurs choses à dire après lu d'un oeil :

- MD5 n'est plus considéré comme sûr, mieux vaut utiliser SHA1;
- Utilises l'opérateur d'égalité === plutôt que == qui est plus lent et moins sûr;
- Pourquoi ne pas supprimer le cookie au lieu de mettre au autre contenu ?
- Une fonction serait plus facile à intégrer.

Commentaire de cod57 le 22/10/2010 19:56:55

@ norton
Remarques judicieuses pour la sécurité !
=== OU == ,oui on peut demander un controle strict !

- supprimer le cookie oui mais !

Dans mon script il y a un contrôle de l'existence du cookie
ou plutot de sa gestion ... sinon le script ne marche pas il affiche :
ligne 33 --> exit('Activer les cookies sur votre navigateur !');
+ lors de la deconnection je cree un cookie aleatoire;

- md5 ou sha1 je suis pas assez pointu pour le dire

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Problème de cookies ... [ par antho11 ] Alors voila Voici le formulaire d'identification&lt;form name="identification" action="membres/identification.php" target="page" method="POST"&gt; Gestion de connexions pour espace membre [ par dreyann ] SalutJ'ai 2 types de cookies, un de 10 ans et un de 20 minutes aux choix par le membre lors de sa connexion. ces cookies servent &#224; r&#233;cuperer Formulaire d inscriptions avec Gestion membre + photos [ par screenzz ] Bonsoir, Je me permet de faire ce post car je suis a la recherche d un formulaire d inscription avec gestion de membre et possibilité d ajouter des p Gestion des erreurs [ par aquouel ] Bonjour tout le monde, j'ai un soucis pour retourner les erreurs sur la page de mon formulaire. Je m'explique: Page: formulaire. [cookies] identification, module [ par Equilibrius ] Bonjour a tous, j'aimerai créer un systeme de pseudo identification a base de cookies, en fait, dés que on rentre sur le site, une petite fenétre saff test si formulaire validé ou pas [ par crazykamel ] Salut ! Le probl&#232;me du jour : comment tester si l'utilisateur a d&#233;j&#224; valid&#233; le formulaire. Je veux dire que j'ai mes messages d'er espace de gestion d'un repertoire pour membres. [ par dcbastien ] Bonjour.Je cherche a créer un espace avec identification qui permettra au membre, enregistré dans mysql, de modifier les fichiers. de son repertoire.C coupler un formulaire à AlloPass [ par jipe32 ] Bonjour,Je voulais savoir si on pouvait coupler le système AlloPass à un formulaire PHP.Je m'explique: j'ai un formulaire d'inscription à mon site mai Gestion de deux formulaires en maître/détail sur la même page [ par amewole ] Je suis confronté au problème suivant : je dois mettre en place un système de gestion appelée souvent maitre/détail du style Numéro commande/plusieurs zone membre [ par montana75013 ] bonjour a tous ,desole je suis debutant en php j'ais quelque question pour vous.en faite j'ai cree un site http://pap.underground.free.fr/</f


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

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

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