begin process at 2012 05 31 00:43:55
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

gestion des accès sous php


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

gestion des accès sous php

jeudi 15 juillet 2010 à 13:28:52 | gestion des accès sous php

patingfree

bonjour à tous,
je travaille sur une application où chaque utilisateur doit s'identifier à l'aide d'un identifiant et un mot de passe et accéder à une interface particuliere en fonction de son groupe d'utilisateur.Mon code actuel permet l'authentification et l'accès à toutes les pages de mon site à un utilisateur présent dans ma base.Je sollicite votre aide afin de permettre l'accès à des pages spécifiques par groupe d'utilisateurs.Apres saisie de l'identifiant, du mot de passe et validation la methode action du formulaire execute la page 'identification.php' dont voici le code :

<?php
/*
si les champs de login et de mot de passe ne sont pas vides
on insère l'utilisateur.
*/
if($_POST["login"] != "" && $_POST["mot_de_passe"] != "")
{
$login = $_POST["login"] ;
$pass = md5($_POST["mot_de_passe"]) ;

//on se connecte à MySQL
$connect= mysql_connect('127.0.0.1', 'root', '');

// on sélectionne la base
mysql_select_db('gestion_facturation',$connect);

//création de la requête SQL
$sql2 = "SELECT * FROM user WHERE user = '".$login."' AND pass = '".$pass."'" ;
//exécution de la requête SQL
$req2 = @mysql_query($sql2, $connect) or die($sql2."<br>".mysql_error()) ;
//on récupère le résultat
$result = mysql_fetch_object($req2) ;
//si la requête s'est bien passée
if(is_object($result))
{
//début de la sessions
session_start() ;
echo '<body onLoad="alert("vous êtes connecté...")">';
//enregistrement d'une variable de session, ici le login de l'utilisateur
$_SESSION["login"] = $login ;
header("Location: accueil.php");
}//fin if

//sinon on retourne à la page d'identification
else
{
echo '<body onLoad="alert(\'Identifiant non reconnu...\')">';

header("Location: index.php") ;
}//fin else
}//fin if
/*
sinon on retourne à la page d'inscription
*/
else
{

echo '<meta http-equiv="refresh" content="0;URL=inscription.php">';

}//fin else
?>

voici le code de protection des pages

<?php
session_start() ;
if(!isset($_SESSION["login"]) || $_SESSION["login"] == "")
{
header("Location: index.php") ;
}//fin if
else
{
echo("<div align=\"right\">") ;
echo("<b>Bonjour ".$_SESSION["login"]."</b><br/>") ;
echo("<div align=\"right\">") ;
echo("<b>Pour vous déconnecter,<br/> cliquez <a href=\"logout.php\">ici</a></b><br/>") ;
}//fin else


?>
vendredi 16 juillet 2010 à 08:01:58 | Re : gestion des accès sous php

pysco68

Bonjour,

si ce sont des sessions serveur tu peux ajouter une donnée du type "access" (en fait tu peux l'appeler comme tu veux...) et tu intègre une valeur avec laquelle tu détermine le niveau d'accès authorisé.

Cependant; je dois t'avertir; côté sécurité ton script es une catastrophe!!!
Il faut absolument valider les données que tu recois par l'utilisateur, sans quoi il est HYPER facile de passer à coté de tes mécanismes d'authentification!

Prenons un exemple;
Entre voir "' OR '1' = '1" dans le champ login, et peux importe quoi dans le champ password et regarde si tu arrive à te connecter. Je pense que oui. Et ce serait sans connaitre le nom ni le mot de passe de l'utilisateur.

En résumé: Attention aux injections SQL.

Solutions:

  • regarde du côté mysql_real_escape_string() pour éliminer quelques soucis de sécurité
  • Ne fais pas que vérifier que la bdd te retourne un résultat (quelconque au final). Fais plutot la comparaison du mot de passe côté PHP!


En espérant t'avoir aidé,
- Pysco68
vendredi 16 juillet 2010 à 12:48:56 | gestion des accès sous php

patingfree

ReBonjour ,
je te remercie psyco 68 pour le tuyaux mais je ne suis pas encore la tête hors de l'eau.Je dois afficher une vue unique sur laquelle se trouve les liens des pages accessibles à un utilisateur en fonction de son groupe.j'ai donc crée une table groupe(id, nom)liée à la table user(id login passwd) ainsi q'une table vue sur laquelle doit figurer les liens des pages .mon souci est comment afficher les liens en fonction du groupe d'utilisateur.

Merci d'avance.
vendredi 16 juillet 2010 à 12:51:28 | Re : gestion des accès sous php

pysco68

Un peux de SQL fera l'affaire. Une sous requête avec laquelle tu extrais le groupe auquel appartiens l'utilisateur courrant. Après il te reste plus qu'a demander à la base toutes les entrées disponibles pour le groupe concerné

Cordialement,
- Pysco68


Cette discussion est classée dans : fin, php, accès, echo, else


Répondre à ce message

Sujets en rapport avec ce message

Temps d'accès. [ par benett ] Comment puis-je faire, à partir d'un formulaire d'information (En php et relié à une base de données MySQL) remplis par le client du site et une fois Temps d'accès. [ par benett ] Comment puis-je faire, à partir d'un formulaire d'information (En php et relié à une base de données MySQL) remplis par le client du site et une fois PHP 4.2.3 sous Linux [ par JosueClement ] Bonjour à tous...Je viens de réinstaller mon PC sous linux et j'ai installé apache et PHP 4.2.3maintenant j'ai un problème avec les formulaires:// Pag comment faire un lien en php ? [ par coolboy78 ] Bonjour voila je débute en php, et donc jaimerai renvoyé les utilisateur dans différente page selon leur identification.voici la parti ou il ya un pb PB avec les sessions [ par lpikachu58 ] Salut les jeunes, j'ai un pb avec les sessions php. Ca marche mais j'ai warning que je voudrais bien virer. Ma question est comment ne pas avoir de wa SESSIONS AVEC COOKIES [ par vincenteraptor ] Ugh!j ai un petit pb! voila je voudrais utiliser les sessions avec passage de l'id de session dans un cookie.Pour comprendre la chose j ai telechargé upload de fichier [ par overider ] salutj'ai un probleme sur un script d'upload de fichier :::// initialisation de la connexion FTPinclude("mysql.inc");$path="../files/";//echo substr( PHP et Javascript [ par romagnoli64 ] Bonjour à tout le monde! J'espère que vous pourrez m'aider!! Voilà mon problème, j'ai un fichier "test.php3", dans lequel une fonction en Javascript e Question sur formulaire en php et controle en js [ par jagdjg ] Je vais essayer d'expliquer: j ai donc un formulaire qui est controle par une fonction javascript, jusque la tout va bien.Le probleme c est que je gen Rien ne rentre dans ma base... [ par dchevalier ] Bonjour,J'utilise Easy PHP et Dreamweaver MX 2004.J'ai crée un formulaire pour rentrer les coordonnées de mes clients dans une base. Ma requête d'inse


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,076 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales