|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre à l'essai
![]() Étudiant Inscription : janvier 2007 Messages : 121 ![]() |
voici mon probléme:
un utilisateur se connecte et si son mot de passe est correct il peut accéder à plusieurs pages sécurisées les utilisateurs sont dans une base de donnée j'ai commencé ainsi: Code :
et au lieu d' ajouter par la suite sur les autres pages pour dire que c'est une page sécurisée et qu'il peut y accéder ne peut on pas préciser dans la page d'identification la liste des pages auxquels l'utilsateur peut accéder avec son mot de passe si il est correct? derniére question mis à part ce systéme connaissez vous un autre moyen pour sécuriser un site par mot de passe merci |
||
|
|
00
|
|
|
#2 | |||
|
Membre actif
![]() |
Citation:
mais fait une requete sql en recherchant l'enregistrement avec nomentreprise, nomutilisateur et pass ensuite tu vérifies que le nombre de ligne renvoyés n'est pas nul (c'est donc que tu as trouvé l'utilisateur). et si c'est nul (utlisateur non trouvé) tu refuses la connexion bref quelquechose du genre (en fonction de ta table, de ton code etc...) Code :
pour ton autre question je ne pourrais pas te répondre avec précision... |
|||
|
|
00
|
|
|
#3 | ||
|
Membre chevronné
![]() Analyste - Programmeur Inscription : mai 2006 Messages : 712 ![]() |
Au debut de la page tu test :
Code :
|
||
|
|
00
|
|
|
#4 | ||||
|
Membre à l'essai
![]() Étudiant Inscription : janvier 2007 Messages : 121 ![]() |
Alors en fait j'ai un probléme
quand je rajoute ces deux lignes de codes plus rien ne s'affiche sur ma page index Code :
Code :
|
||||
|
|
00
|
|
|
#5 |
|
Membre à l'essai
![]() Étudiant Inscription : janvier 2007 Messages : 121 ![]() |
j'ai trouvé mon probléme pour l'affichage, il manqué bêtement 2 ;
reste plus le probléme qu'avec ma bd |
|
|
00
|
|
|
#6 | ||
|
Membre à l'essai
![]() Étudiant Inscription : janvier 2007 Messages : 121 ![]() |
en fait j'ai fait des essais pour voir si chaque lignes de codes fonctionnaient et tout marche il cherche bien dans la base la ligne qui a le mot de passe
par contre j'ai surment un probléme pour la redirection et j'ai mis dans l'entête de ma deuxiéme page Code :
$session_start(); et le acces merci de m'aider |
||
|
|
00
|
|
|
#7 | ||
|
Membre actif
![]() |
si je ne me trompe pas
session_start(); crée une session (ou restaure celle trouvée sur le serveur) (google est ton ami pour des détails très poussés sur le fonctionnement détaillé de cette fonction mieux que je ne saurais te dire) donc si dans ta page de vérification/login tu as définit une session et que tu y as enregistré des variables avec le session_start(); sur ta nouvelle page ça va te permettre de récupérer ces valeurs et le acces comme disait J0r_x dans le cas où la connexion est acceptée tu créés une session (sur la page qui teste si l'utilisateur a bien entré le bon mot de passe) et tu enregistres en session acces avec les droits que possède l'utilisateur Code :
et dans tes pages à protéger tu utilises ce qu'il a dit avec si besoin (si tu as défini plusieurs droits d'accès aux pages) un nouveau test pour voir si les droits correspondent à la page et dans le cas ou l'utilisateur n'a pas le droit tu peux le rediriger vers une page qui indique connexion refusée par exemple |
||
|
|
00
|
|
|
#8 | ||
|
Membre à l'essai
![]() Étudiant Inscription : janvier 2007 Messages : 121 ![]() |
malheuresement je n'ai pas tout compris dans ton message
j'ai donc apporté des changements comme je comprenais Code :
et dans ma deuxiéme page au tout début je n'ai mis que merci |
||
|
|
00
|
|
|
#9 | ||
|
Membre chevronné
![]() Analyste - Programmeur Inscription : mai 2006 Messages : 712 ![]() |
le $_SESSION['acces'] tu lui donne une valeur en fonction de l'utilisateur.
Si c'est un admin $_SESSION['acces'] = "admin" Si c'est un moderateur $_SESSION['acces'] = "modo" Si c'est un utilisateur $_SESSION['acces'] = "util" Aprés en debut de page tu test avec if. exemple page only admin : Code :
|
||
|
|
00
|
|
|
#10 |
|
Membre à l'essai
![]() Étudiant Inscription : janvier 2007 Messages : 121 ![]() |
il n'y a pas différentes personnes qui se connectent elles sont toutes du même type
|
|
|
00
|
|
|
#11 | |||||
|
Membre actif
![]() |
Citation:
mais la partie indentification (la page ou tu vérifies dans la base si l'utilisateur a donné le bon mot de passe etc...) Code :
(faut pas hésiter à me reprendre si je dis une bétise) et donc du coté des pages à protéger avec le code de J0r_x tu vérifies si la variable acces est en session et si sa valeur est admin (car la page est une page destinée aux admins... ) et si oui alors tu affiches la pages et sinon tu affiches le message: Cette partie du site est reservé aux admins edit : p.s.: qu'il y ait des admins, des users et autre ou juste des utilisateurs tous égaux ça ne change rien au principe (sauf que c'est plus simple car il aurait fallut gérer les différents droits) |
|||||
|
|
00
|
|
|
#12 |
|
Membre à l'essai
![]() Étudiant Inscription : janvier 2007 Messages : 121 ![]() |
merci je v essayer comme ca en cas de probléme je post
|
|
|
00
|
|
|
#13 | ||||
|
Membre à l'essai
![]() Étudiant Inscription : janvier 2007 Messages : 121 ![]() |
bon j'ai réussi a corriger la redirection
le probléme c'est que une fois sur ma page 2, si on retappe l'url tout le monde peut voir la page et moi je ne veux pas je sais qu'il faut que j'utilise les variables session mais j'ai beaucoup de mal avec page identification 1 Code :
Code :
|
||||
|
|
00
|
|
|
#14 |
|
Membre à l'essai
![]() Étudiant Inscription : janvier 2007 Messages : 121 ![]() |
tout fonctionne et pourtant je n'ai rien changé
merci pour votre aide |
|
|
00
|
|
|
#15 |
|
Membre actif
![]() |
je crois savoir pourquoi ça a mal fonctionné quelques temps :
les sessions je pense que tu t'es d'abord connnecté avec un utilisateur valide et donc en session tu avais bien $_SESSION["utilisateur"] de définit et qui valait" connect" et donc en retappant l'url directement ta session était encore active et donc tu avais toujours $_SESSION["utilisateur"] définit puis tu as du fermer ton navigateur, le relancer (ça t'a donné un autre identifiant de session) et refaire le test vu que ta session était différente, plus de $_SESSION["utilisateur"] et donc l'accès a bien été refusé. donc en résumé : tout tester les sessions ne pas oublier de fermer son navigateur internet (toutes les fenetres du nagivateur qui peuvent etre ouvertes?? j'avoue je ne sais plus trop) et de le rouvrir |
|
|
00
|
|
|
#16 |
|
Membre à l'essai
![]() Étudiant Inscription : janvier 2007 Messages : 121 ![]() |
oui il fallait vider les cookie du navigateur et la mes pages annexes étaient indisponible sans l'identification préalable
|
|
|
00
|
|
|
#17 |
|
Membre expérimenté
![]() Étudiant Inscription : juillet 2004 Messages : 777 ![]() |
Eu non pas les cookies les cookies et les session n'ont rien a voir! Par contre tu pourrai faire un bouton qui détruit la session, regarde du cote de session_destroy
|
|
|
00
|
|
|
#18 |
|
Membre régulier
![]() Inscription : janvier 2007 Messages : 85 ![]() |
Salut,
Il est même préférable de fermer une session avec l'instruction session_destroy() car pour éviter les déconnexion intempestives les serveurs gardent les session en mémoire un certain temps ce qui représente un certain risque de sécurité. en detruisant la session, ce risque disparait totalement. Le plus dur est de donner l'habitude à ses membres de fermer la session avant de fermer le navigateur. @++ |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com