Salut, voila je voudrais pouvoir sécuriser ma zone admin via PHP. Car .htaccess et . htpasswd me sortent par les yeux lors de la mise en ligne du site.

Le raisonnement algorithmique serait :

"requete de r&cuperations des pseudo et mpd des admin"
Si($_POST'pseudo'] = $pseudo_recup && $_POST'pass'] = $pass_recup) {
    accès possible a la page admin_news.php
}
else{
    echo "t'as rien à faire ici";
}

Si je n'ai pas étais assez clair dites le moi j'essaierais de faire mieux ;)

11 réponses


welcoMattic
Auteur
Réponse acceptée

Merci à tous pour votre aide, j'ai reussi à partir de tout ça à faire un script opérationnel !

@ DevAddict: je dev avec PDO ;) mais merci quand même !

Bien sûre que c'est tout a fait possible!

Tu voudrais que un seul utilisateur puisse avoir acces a la zone admin ou plusieur?
Si un tu peu toujours ecrire en "dure" le login et password dans un fichier ou sinon tu peux passer par une base de donnée.

Il n'empeche qu'un htaccess bien configuré reste de loin la meilleur option pour ton problème je crois...

Hello, il y a un tuto sur comment sécuriser une zone en PHP.. ^^ ( Au cas où :o )
Bye bye :p

Je peux t'expliquer par contre il faudrait que je sache si tes utilisateurs sont stockés dans une base de donnée où non.

@tottosche : Plusieurs (2) utilisateurs auraient accès à la zone admin. Le problème du .htaccess c'est justement qu'il merde a cahque fois que je met mon site en ligne via le FTP.

@PhiSyX : c'est un tuto pour faire une zone sécurisé pour TOUS les membres. Moi je ne veux que les admins.

@DevAddict : Les users sont stockés dans la base de données

Salut, euh.. Ça n'est pas rien que pour les membres... Suffit de l'ajuster et de faire en sorte que rien que les admins puissent y entrer.. Sinon la table 'role' ne servirait à rien. ^^

La table role ?

Alors sois j'étais ivre quand j'ai regarder le tuto, soit je ne l'ai pas regarder entier ..

Oups, c'était le matin, le champ role plutôt..

Oui j'ai re-regarder le tuto, c'est vrai qu'il y a quelque chose de ressemblant, y a plus qu'a "nous débrouiller nous même" comme Graph' a dit ;)

Eh, bien grâce a ton champ rôle, si dans ton champ tu met un nombre par exemple:
1 = Membre
2 = Moderateur
3 = Admin

Tu n'as plus qu'as regarder si le role est = a 3 avant d'autoriser l'affichage ;)
Grâce a une requête du genre :

$sql = "SELECT * FROM users WHERE login='$login' AND pass = '$pass' AND role = '3'";

C'est pas compliqué :

$sql = "SELECT * FROM users WHERE login='$login' AND pass = '$pass' AND role = '3'";
$req = mysql_query($sql) or die(mysql_error());
if(mysql_num_rows($req) != NULL){ // Si une ligne est retournée avec les identifiants envoyés
//connexion
}
else{
//l'utilisateur n'existe pas ou n'est pas admin
}