Se connecter / S'enregistrer
Votre question

[PHP]Autorisation pour plusieurs personnes

Tags :
  • Php
  • Programmation
Dernière réponse : dans Programmation
17 Mai 2007 20:40:26

Bonjour à tous les Idnautes !
Alors, je commence tout de suite.
Cherchant désespèrement une solution à mon problème, j'ai compris que j'y n'arriverai pas seul, et qu'une aide serait la bienvenue. Et puisque je sais que des "génies" de la programmation traîne sur ce forum, je fais un appel au secours.
J'ai déniché un bout de code PHP pour sécuriser l'accès au contenu d'une page de mon site web.
Voici mon problème : le code tel qu'il m'a été présenté ne permet qu'un login et qu'un mot de passe, or on est deux personnes à administrer le site web. Donc, je voudrais rajouter encore un login et un mot de passe pour le deuxième admin. J'ai déjà testé plein de chose, sans satisfaction, j'ai eu droit à des messages d'erreur.

Voici le fameux code :
<?php
Header(" Pragma :no-cache ");
Header(" Cache-Control :no-cache ");
if (($verifer=="Valider")){
if (($pass !="*****")|| ($id !="****")){
header("Location: quelquechose.php");
}
}else{
header("Location: quelquechose.php");
}
?>

Les étoiles je les remplace par le login et mot de passe que je veux.

Merci d'avance.

Autres pages sur : php autorisation plusieurs personnes

17 Mai 2007 21:15:58

elseif (($pass !="*****" )|| ($id !="****" )){
header("Location: autrequelquechose.php" );
}


c'est bourrin.
17 Mai 2007 21:17:00

surtout que ca sécurise rien, vu que si l'on tappe directement autreqelquechose.php dans la barre d'adresse on tombera sur la page ...avec ton code rajoute un system de session.
Contenus similaires
18 Mai 2007 16:46:52

Un système de session, oui, je crois que tu as raison, mais bon, ce code mène à une page qui est-elle mène à une autre page, dont le nom est difficile à trouver.
En fait, j'ai voulu directement insérer ce code dans une page admin, mais, par exemple si je veux modifier un article, et bien, il me redemande le mot de passe encore une fois, et rediriges vers la page d'accueil de l'administration.
Exemple : on va dire que la page s'appelle admin.php . Par exemple, si je veux ajouter une news, il me met admin.php?add etc etc, et puisque le code qui demande un mot de passe est sur la pâge admin, il me demande le mot de passe à chaque clic, et après avoir mis le pass, il me renvoie vers admin.php .
C'est dur à expliquer, j'espère que je me fais comprendre.
Edit : Est-il tout simplement possible de garder le login et mot de passe dans un cookie pour que le navigateur ne le demande pas plusieurs fois ?
19 Mai 2007 15:42:07

élégant:
tu mets les login/pass dans une bdd (mysql/pgsql)..
puis
select * from users where login='....' and pass='...'
si resultat = 1, c'est que c'est bon, sinon, c'est pas bon :) 

1 peu plus bourrin:
tu met un fichier texte contenant les login pass formatés
puis à la validation du log/pass, tu parcours le fichier.

bourrin au possible:
mettre en dur dans le code..



Dans tous les cas, créé des sessions.
Anonyme
19 Mai 2007 15:51:23

Tu peux aussi restreindre l'accès grâce au fichier .htaccess
il permet de gérer les mots de passe
19 Mai 2007 17:52:12

Pour le fichier .htaccess tous les fichiers sont dans un même dossier.
Sinon, Elendilm, j'ai compris à peu près la première méthode, les deux autres rien du tout ^^" ! Pour la première méthode, je connais un peu la théorie, mais j'ai pas de pratique, si vous vouliez bien m'aider, j'en serais reconnaissant.
Merci.
19 Mai 2007 19:47:56

yuna57 a dit :
Pour le fichier .htaccess tous les fichiers sont dans un même dossier.
Sinon, Elendilm, j'ai compris à peu près la première méthode, les deux autres rien du tout ^^" ! Pour la première méthode, je connais un peu la théorie, mais j'ai pas de pratique, si vous vouliez bien m'aider, j'en serais reconnaissant.
Merci.


1: As tu 1 accès à une base de données? Si oui, ce que je suggère est de créer une table des utilisateurs, du style:


| Login | Password | actif |
toto passtoto 1
tutu passtutu 1
tata passtata 0

Quand tu effectue une requete sur ta table:
SELECT * FROM utilisateurs where Login='toto' and Password='passtoto'
Ton sgbd te retourne [toto][passtoto][1]
ou , plutôt, il te retourne 1 ligne: qui valide le login et le pass. Si le nombre de ligne retournée(s) était égale à 0, c'est que le log/pass était invalide (si > 1, c'est que tu es 1 programmeur idiot :)  :)  :)  )
donc l'utilisateur est valide.

2:
tu crée un fichier utilisateurs sur le /priv (en faisant gaffe aux autorisations d'accès) de ton hébergement:

[fichier]
toto-passtoto-1
tata-passtata-1
tutu-passtutu-0
[/fichier]

A la demande d'accès, tu génére une chaine de caractère login-password (saisis) et tu parcours le fichier (du début à la fin) pour vérifier si la chaine y apparait bien ...( si non, l'utilisateur n'est pas valide)


3:
  1. if ( $user="toto" and $password="passtoto")
  2. {
  3. //utilisateur valide.
  4. }
  5. else
  6. {
  7. if ($user="tata" and $password="passtata")
  8. { //utilisateur valide
  9. }
  10. else
  11. {
  12. if($user="titi" and $password="passtiti")
  13. {//utilisateur valide.
  14. }
  15. else
  16. {//utilisateur invalide.
  17. }
  18.  
  19. }
  20. }

Donc, si tu as 2 utilisateurs, bof, mais ça marchera, si tu en as 50, bon courage pour la maintenance du code! ( et bof aussi pour la sécurité)
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS