Inscription membre - authentification par cookies 24h ->> mysql

Soyez le premier à donner votre avis sur cette source.

Snippet vu 20 063 fois - Téléchargée 27 fois

Contenu du snippet

Tres bien alors apres avoir trouvé le problème a resoudre : "Inscription membre - Authentification par cookies 24H ->> MYSQL" on essaye de reagir morceau par morceau c'est a dire que je vais vous apprendre a entrer des données de différentes variables (pseudo password etc...) dans un tableau MYSQL tres facile a gerer et on verra par la suite comment fonctionne une authentification par cookies dont j'ai remarqué sur ce site web (plusieurs personne galere pour son utilisation(alors que c'est trop balostique)). Bref vous devez obligatoirement avant executer le SQL present ci dessous.

Source / Exemple :


EXECUTEZ LE SQL AVANT UTILISATION DU SCRIPT

CREATE TABLE membre (
  id int(4) NOT NULL auto_increment,
  pseudo varchar(255) default NULL,
  email varchar(255) default NULL,
  password text default NULL,
  PRIMARY KEY  (id)
)

--> index.php : 
<html>
<body bgcolor="000000">
<table width="100%" height="100%">
<tr>
<td align="center" valign="center">
<a href="inscription.php"><font color="ffcc00" face="Arial">Inscription</a></font><br>
<a href="login.php"><font color="ffcc00" face="Arial">Authentification</a></font><br>
<font color="ffcc00" face="Arial">by <a href="mailto:totoetror@hotmail.com"><font color="ffcc00" face="Arial">sl0b</a> www.team-extent.clan.st</font>
</td>
</tr>
</body>
</html>

--> inscription.php :

<html>
<body bgcolor="000000">
<table width="100%" height="100%">
<tr>
<td align="center" valign="center">
<?
echo "<font color='red' face='Aria'">$error";
?>
<form action="inscriptionmysql.php" method="post">
<font color="ffcc00" face="Arial">login : <input type='text' name='pseudo'  style='WIDTH:110; TEXT-ALIGN=left;'><br>
pw : <input type='password' name='password'  style='WIDTH:110; TEXT-ALIGN=left;'><br>
email : <input type='text' name='email' style='WIDTH:110; TEXT-ALIGN=left;'><br>
<font color="ffcc00" face="Arial">by <a href="mailto:totoetror@hotmail.com"><font color="ffcc00" face="Arial">sl0b</a> www.team-extent.clan.st</font>
</td>
</tr></form>
</body>
</html>

--> inscriptionmysql.php : 

<?
if(empty($pseudo)) {
$error="You have forget your pseudo";
$here="here";
include ("inscription.php");
exit;
}
if(empty($password)) {
$error="You have forget your password";
$here="here";
include ("inscription.php");
exit;
}
if(empty($email)) {
$error="You have forget your email";
$here="here";
include ("inscription.php");
exit;
}
?>
<html>
<head>
<link rel="stylesheet" type="text/css" href="px.css">
<script language="javascript">
function alerter()
	{
		alert("OK !\n\nInscription parfaite !");
	}
</script>
</head>
<body>
<?
$host = "localhost";  // votre host sql (ex: sql.free.fr)
$user = "root";  // votre identifiant
$pass = "";  // votre password
$bdd  = "membre"; // le nom de votre base de donné
$table = "membre"; // par défaut le nom de votre table est news mais si vous voulez le changer libre a vous (n'oubliez pas de changer aussi le fichier .sql)

$conect = @mysql_connect($host,$user,$pass)
   or die("Connection impossible");
$select = @mysql_select_db("$bdd")
   or die("Connection impossible a la base de données");

$requette=mysql_query("INSERT INTO $table VALUES( '', '$pseudo', '$email', '$password')");
sql_ok($requette);

function sql_ok($requette){
  if (!$requette) {
    echo $strError."\n";
    echo $strSQLQuery."  ".$sql_query."  ".$strProducedAnError."\n";
    echo $strMySQLSaid.mysql_error();
 }
	else {
	echo "<script language=\"Javascript\">";
    echo "alerter ();";
    echo "</script>";
	include("membre.php");
	; }

  }
?>
</body>
</html>

--> login.php :

<html>
<body bgcolor="000000">
<table width="100%" height="100%">
<tr>
<td align="center" valign="center">
<?
echo "<font color='red' face='Arial'>$error";
?>
<form action="verif.php" method="post">
<font color="ffcc00" face="Arial">login : <input type='text' name='pseudo'  style='WIDTH:110; TEXT-ALIGN=left;'><br>
pw : <input type='password' name='password'  style='WIDTH:110; TEXT-ALIGN=left;'><br>
<font color="ffcc00" face="Arial">by <a href="mailto:totoetror@hotmail.com"><font color="ffcc00" face="Arial">sl0b</a> www.team-extent.clan.st</font>
</td>
</tr></form>
</body>
</html>

--> verif.php :

<?php
$host = "localhost";  // votre host sql (ex: sql.free.fr)
$user = "root";  // votre identifiant
$pass = "";  // votre password
$bdd  = "membre"; // le nom de votre base de donné
$table = "membre"; // par défaut le nom de votre table est news mais si vous voulez le changer libre a vous (n'oubliez pas de changer aussi le fichier .sql)

$base_id = mysql_connect($host, $user,$pass);
if (!$base_id)
{
echo "Connexion à la base de données impossible !";
}
if (! mysql_select_db("$bdd"))
{
echo "Impossible de sélectionner la base de données !";
}
    // Requette SQL
    $query = "Select * From membre where pseudo = '".$pseudo."' and password = '".$password."'";
    $resultat = mysql_query($query,$base_id);
    if(mysql_num_rows($resultat) != 0)
        {
$CVTime = time()+86400;//Durée de vie du cookie en secondes, ici c'est 1h
      ob_start();//ca c'est pr pouvoir faire header() apres setcookie()
        setcookie(extentpasswordcookies,$password,$CVTime);
        setcookie(extentpseudocookies,$pseudo,$CVTime);
        header("Location: http://localhost/membre.php");
      ob_end_flush();
      exit;
        }
    else
        {
        // Ici le message d'alerte si l'autentification n'est pas réussie
        print"<script>alert('Login ou password invalide.');</script>";
        // Rappel de la fonction d'identification
        $error = "Login or password invalide";
        include ("login.php");
        }
?>

--> membre.php :

<?
if (empty($_COOKIE[extentpasswordcookies])) {
include ("index.php");
exit;
}
if (empty($_COOKIE[extentpseudocookies])) {
include ("index.php");
exit;
}
?>
<html>
<body bgcolor="000000">
<table width="100%" height="100%">
<tr>
<td align="center" valign="center">
<?
echo "<font color='ffcc00' face='Arial'>yepppp <b>$_COOKIE[extentpseudocookies]</b> putin t'as trop une bonne mine avec ton vieux password : <b>$_COOKIE[extentpasswordcookies]</b> lol normalement ici c'est ta partie membre sécurisé";
?>
<font color="ffcc00" face="Arial">by <a href="mailto:totoetror@hotmail.com"><font color="ffcc00" face="Arial">sl0b</a> www.team-extent.clan.st</font>
</td>
</tr>
</body>
</html>

Conclusion :


Bref voila alors je tiens juste a signaler que dans la page verif.php j'utilise un headers pas tres facile gerer ( ex : "header("Location: http://localhost/membre.php");") justement il le lien qui est inscrit qui est en ce momment : http://localhost/membre.php doit etre dirigé vers votre partie membre. Bref sinon je n'ai pas tester le script mais j'attens vos reponses aux plus vite possible pour corriger le(s) bug(s). Good Luck - www.team-extent.clan.st

A voir également

Ajouter un commentaire

Commentaires

fser
Messages postés
74
Date d'inscription
vendredi 26 septembre 2003
Statut
Membre
Dernière intervention
23 avril 2005
-
salut,
comme tu as pu le constater, ton script presente quelques failles de securité facilement reparables grâce au hmtlentities.
J'espere que tu n'est pas vexé de la demonstration que nous avons effectué.
si tu as des questions, envoi moi un pv.
+
HenvimaL
Messages postés
28
Date d'inscription
dimanche 18 mai 2003
Statut
Membre
Dernière intervention
7 juin 2010
-
nikémooke
fser
Messages postés
74
Date d'inscription
vendredi 26 septembre 2003
Statut
Membre
Dernière intervention
23 avril 2005
-
on ma dis que tu avais securisé un peu ...
il y a une faute : write ( ecrire ) prend pas de 'h'.
sinon, qu'as tu utilisé pour securiser ça ?
communicator12
Messages postés
4
Date d'inscription
mardi 23 décembre 2003
Statut
Membre
Dernière intervention
20 mai 2004
-
je trouve que ton initiative est bonne , la securite aest un peut nigligée mais ça peut faire l'affaire ,
HenvimaL
Messages postés
28
Date d'inscription
dimanche 18 mai 2003
Statut
Membre
Dernière intervention
7 juin 2010
-
oui j'ai sécurise pk ? ca te pose probleme ? prochaine fois que tu recommence je te bann de bon site ok ?

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.