Comment authentifier l'administrateur
Résolu
parvn
Messages postés
49
Date d'inscription
Statut
Membre
Dernière intervention
-
parvn Messages postés 49 Date d'inscription Statut Membre Dernière intervention -
parvn Messages postés 49 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai ma function authenticate que voici :
function authenticate ($realm="Secure Area"
,$errmsg="Please enter a username and password") {
Header("WWW-Authenticate:Basic realm="$realm"");
Header("HTTP/1.0 401 Unauthorized");
die($errmsg);
}
qui oblige l'utulisateur d'inserer un username et un password, la fonction marche car elle fait bien apparaitre les deux champs pour le username et le password, mais mon probleme c comment faire pour prendre ces donnees entrees par l'utulisateur pour faire une verification dans ma base pour authentifier l'administrateur si il sont conforme donc donner l'autorisation si non la refuser.
Merci d'avance pour votre aide.
j'ai ma function authenticate que voici :
function authenticate ($realm="Secure Area"
,$errmsg="Please enter a username and password") {
Header("WWW-Authenticate:Basic realm="$realm"");
Header("HTTP/1.0 401 Unauthorized");
die($errmsg);
}
qui oblige l'utulisateur d'inserer un username et un password, la fonction marche car elle fait bien apparaitre les deux champs pour le username et le password, mais mon probleme c comment faire pour prendre ces donnees entrees par l'utulisateur pour faire une verification dans ma base pour authentifier l'administrateur si il sont conforme donc donner l'autorisation si non la refuser.
Merci d'avance pour votre aide.
A voir également:
- Comment authentifier l'administrateur
- Mot de passe administrateur - Guide
- Formater un pc bloqué par administrateur - Guide
- Invite de commande administrateur - Guide
- Mot de passe administrateur freebox - Forum Freebox
- Vous devez disposer des droits d'administrateur pour supprimer ce dossier - Guide
3 réponses
bonjour,
tout d abord, il faut bien sur que tu ais un champs dans ta base de donné contenant le groupe..
ex table 'Login' contenant 'id', 'user'; 'psw', 'Grp'
donc, quand tu vérifie dans ta bd si l utilisateur a taper le bon mot de passe, tu peux aussi remonter le champs 'Grp'. auquel tu aura mis ce que tu veux pour authentifié ce groupe en tant qu admin, par ex, tu peux avoir mis dans le champs 'Grp' 99 ou Adm, ou 1, enfin, un quelquechose qui te permettra de tester ce champs dans ton php ;) et ainsi savoir si l utilisateur fait parti de tel ou tel groupe ;)
tout d abord, il faut bien sur que tu ais un champs dans ta base de donné contenant le groupe..
ex table 'Login' contenant 'id', 'user'; 'psw', 'Grp'
donc, quand tu vérifie dans ta bd si l utilisateur a taper le bon mot de passe, tu peux aussi remonter le champs 'Grp'. auquel tu aura mis ce que tu veux pour authentifié ce groupe en tant qu admin, par ex, tu peux avoir mis dans le champs 'Grp' 99 ou Adm, ou 1, enfin, un quelquechose qui te permettra de tester ce champs dans ton php ;) et ainsi savoir si l utilisateur fait parti de tel ou tel groupe ;)
donc, si tu as un champ 'Grp' par ex :
au lieu de :
list($valid_user) = mysql_fetch_row($result);
met :
$User = mysql_fetch_array($result);
et $User["Grp"] contiendra la valeur de 'Grp' de ta bd, et donc tu peux faire quelquechose comme :
if ($User["Grp"] == "Admin"){
echo "vous etes administrateur";
}
au lieu de :
list($valid_user) = mysql_fetch_row($result);
met :
$User = mysql_fetch_array($result);
et $User["Grp"] contiendra la valeur de 'Grp' de ta bd, et donc tu peux faire quelquechose comme :
if ($User["Grp"] == "Admin"){
echo "vous etes administrateur";
}
merci bcp pour votre aide, j'ai du reorganise le code comme on me la suggere et voila le nouveau code qui marche sans probleme:
<?php
include "connection.php";
function authenticate ($realm="Secure Area"
,$errmsg="Please enter a username and password") {
Header("WWW-Authenticate:Basic realm=\"$realm\"");
Header("HTTP/1.0 401 Unauthorized");
die($errmsg);
}
$login=$_SERVER['PHP_AUTH_USER'];
$password=$_SERVER['PHP_AUTH_PW'];
if (empty($login) || empty($password)){
authenticate("Secure Area", "Please enter a username and password");
}
else {
$query = "select * from guestbook_admin where username = '$login' and password=password('$password')";
$result = mysql_query($query);
if ($result) {
list($valid_user) = mysql_fetch_row($result);
echo " welcome mr $login\n";
}
// if the query didn't work at all (which shouldn't happen), or ran but
// didn't find a match for the user name & password, $valid_user will
// not be set to anything. if this is so, have the user try again.
if (!$result || empty($valid_user)) {
authenticate($realm,$errmsg,"query");
}
}
print "<p><b>Editing as $login</b></p>\n";
?>
<?php
include "connection.php";
function authenticate ($realm="Secure Area"
,$errmsg="Please enter a username and password") {
Header("WWW-Authenticate:Basic realm=\"$realm\"");
Header("HTTP/1.0 401 Unauthorized");
die($errmsg);
}
$login=$_SERVER['PHP_AUTH_USER'];
$password=$_SERVER['PHP_AUTH_PW'];
if (empty($login) || empty($password)){
authenticate("Secure Area", "Please enter a username and password");
}
else {
$query = "select * from guestbook_admin where username = '$login' and password=password('$password')";
$result = mysql_query($query);
if ($result) {
list($valid_user) = mysql_fetch_row($result);
echo " welcome mr $login\n";
}
// if the query didn't work at all (which shouldn't happen), or ran but
// didn't find a match for the user name & password, $valid_user will
// not be set to anything. if this is so, have the user try again.
if (!$result || empty($valid_user)) {
authenticate($realm,$errmsg,"query");
}
}
print "<p><b>Editing as $login</b></p>\n";
?>
J'ai fais un code pour cela qui me semble approprie mais une fois entree les donnees quand j'appui sur ok il m'invite toujours a faire entrer encore les donnees c'est a dire username et password.
Voici le code :
<?php
include "connection.php";
function authenticate ($realm="Secure Area"
,$errmsg="Please enter a username and password") {
Header("WWW-Authenticate:Basic realm=\"$realm\"");
Header("HTTP/1.0 401 Unauthorized");
die($errmsg);
}
$login=$_SERVER['PHP_AUTH_USER'];
$password=$_SERVER['PHP_AUTH_PW'];
authenticate("Secure Area", "Please enter a username and password");
if (empty($login) || empty($password)){
echo "your username and password please\n";
}
if(!empty($login) && !empty($password)) {
$query = "select * from guestbook_admin where username = '$login' and password=password('$password')";
$result = mysql_result($query);
if ($result) {
list($valid_user) = mysql_fetch_row($result);
echo " welcome mr $login\n";
}
if (!$result || empty($valid_user)) {
authenticate($realm,$errmsg,"query");
}
}
print "<p><b>Editing as $login</b></p>\n";
?>