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 SQL


Information sur la source

Description

Ce script permet à l'utilisateur de s'identifier. Son login et mot de passe sont dans une table membres d'une base mysql. Si l'authentification est la bonne il est redirige vers une page frame.php. A vous de renseigner les variables de la base, le message en cas de mauvaise authentification et la page de redirection.
 

Source

  • <?PHP
  • // Variables de votre base à renseigner
  • $myhote="";
  • $myuser="";
  • $mypass="";
  • $mybase="";
  • $base_id = mysql_connect($myhote, $myuser,$mypass);
  • if (!$base_id)
  • {
  • echo "Connexion à la base de données impossible !";
  • }
  • if (! mysql_select_db("$mybase",$base_id))
  • {
  • echo "Impossible de sélectionner la base de données !";
  • }
  • // Definition de la fonction auth()
  • function auth()
  • {
  • print"<html><body>";
  • print"<form name='form' method='post' action='authentification.php'>";
  • print"<table><tr><td align='center'><font color='#0256AA' size='2' face='Verdana'><b>Login :</font></b>";
  • print"</td></tr><tr><td align='center'><input type='text' name='PHP_AUTH_USER' size='15'></td></tr><tr>";
  • print"<td align='center'><font color='#0256AA' size='2' face='Verdana'><b>Password :</font></b></td></tr><tr>";
  • print"<td align='center'><input type='password' name='PHP_AUTH_PW' size='15'></td></tr><tr><td align='center'><br>";
  • print"<input type='submit' name='submit' value='Entrez'></td></tr></table></form>";
  • print"</body></html>";
  • exit;
  • }
  • if( !isset($PHP_AUTH_USER) && !isset($PHP_AUTH_PW) )
  • {
  • // Ouverture de la fonction auth()
  • auth();
  • }
  • else
  • {
  • // Requette SQL
  • $query = "Select * From membres where login = '".$PHP_AUTH_USER."' and password = '".$PHP_AUTH_PW."'";
  • $resultat = mysql_query($query,$base_id);
  • if(mysql_num_rows($resultat) != 0)
  • {
  • // Ici la page de redirection si l'autentification est réussie
  • print"<script>top.location.replace('frame.php');</script>";
  • }
  • 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
  • auth();
  • }
  • }
  • ?>
<?PHP
// Variables de votre base à renseigner
$myhote="";
$myuser="";
$mypass="";
$mybase="";

$base_id = mysql_connect($myhote, $myuser,$mypass);
if (!$base_id)
{
echo "Connexion à la base de données impossible !";
}


if (! mysql_select_db("$mybase",$base_id))
{
echo "Impossible de sélectionner la base de données !";
}

// Definition de la fonction auth()
function auth()
	{
	print"<html><body>";
	print"<form name='form' method='post' action='authentification.php'>";
	print"<table><tr><td align='center'><font color='#0256AA' size='2' face='Verdana'><b>Login :</font></b>";
	print"</td></tr><tr><td align='center'><input type='text' name='PHP_AUTH_USER' size='15'></td></tr><tr>";
	print"<td align='center'><font color='#0256AA' size='2' face='Verdana'><b>Password :</font></b></td></tr><tr>";
	print"<td align='center'><input type='password' name='PHP_AUTH_PW' size='15'></td></tr><tr><td align='center'><br>";
	print"<input type='submit' name='submit' value='Entrez'></td></tr></table></form>";
	print"</body></html>";
	exit;
	}
    
if( !isset($PHP_AUTH_USER) && !isset($PHP_AUTH_PW) )
	{
	// Ouverture de la fonction auth()
	auth();
	}
else
	{
	// Requette SQL
	$query = "Select * From membres where login = '".$PHP_AUTH_USER."' and password = '".$PHP_AUTH_PW."'";
	$resultat = mysql_query($query,$base_id);
	if(mysql_num_rows($resultat) != 0)
		{
		// Ici la page de redirection si l'autentification est réussie
		print"<script>top.location.replace('frame.php');</script>";
		}
	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
		auth();
		}
	}
?>

Conclusion

Merci d'apporter vos commentaires
 

Commentaires et avis

signaler à un administrateur
Commentaire de revinc le 09/10/2003 13:30:57

ok pour l'identification mais n'importe qui même non identifié peut accéder à ta page frame.php s'il en connait l'adresse...

signaler à un administrateur
Commentaire de willinfeo le 10/10/2003 10:59:52

Pour éviter que n'importe qui se connecte directement en allant a la page frame.php, tu rajoutes une variable de session qui passe a vrai dés que l'authentification est vérifiée. Ensuite dans frame.php si la variable n'est pas vrai tu redirige vers authentification.php

Si t'as une meilleure solution, envoie, je suis preneur

signaler à un administrateur
Commentaire de NiFF le 24/06/2004 13:40:13

Bravo, belle possibilité d'injection SQL.
Il suffit que quelqu'un mette "admin; --" comme login et il est admin
Tu l'as mis sur quel site que j'aille essayer ?

signaler à un administrateur
Commentaire de scarium le 29/09/2004 08:22:32

ne marche pas chez moi , peut etre ce script est-il trop vieux ?

config:
ezphp 1.7
dreamweaverMX

signaler à un administrateur
Commentaire de hemomo le 27/11/2004 22:57:09

slt quel variable faut'il ajouter extactement? car j'ai fait plains de page derrière et il serai préférable que je la connaisse

signaler à un administrateur
Commentaire de lefter le 21/04/2005 15:25:04

Si c'est pour un site sécurisé c'est pas top !

scarium, pour que ce script fonctionne il faut que la variable 'register_global' soit sur 'off' voir php-safe.ini ou php.ini. Mais c'est encore une faille de sécurité !!

                                                            Lefter              :-)

signaler à un administrateur
Commentaire de Rimb0 le 15/03/2006 20:46:34

Le print n'est pas approprié il me semble...

signaler à un administrateur
Commentaire de mimia21 le 18/07/2008 13:45:33

salut,je veux savoir proteger mes pages alors qu´est ce que je dois ajouter au debut de mes pages pour que les utilisateurs ne peuvent acceder que s´ils entrent leurs vrais login et mot de passe(sachant que j´ai deja un script pour cela et une base de donnée qui enregistre tous les cordonées des utilisateurs

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,140 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.