Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1908 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  site à accès limité.

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

site à accès limité.

n°1581265
lordankou
Posté le 01-07-2007 à 17:49:08  profilanswer
 

Bonjour,
 
Je dois créer un site à accès limité mais je me pose des questions sur la sécurité et la fiabilité.
Pour l'instant j'ai pensé à un système du genre :
inscription et confirmation envoyé à l'admin par email
une fois l'inscription confirmé on se logue et on vérifie mot de passe et login dans la BD et on ouvre une session avec par exemple $_SESSION['login']=true et sur chaque page avant d'afficher la page je vérifie si la variable est bien à true.  
 
mais j'avoue que je suis pas sur de mon coup. je veux pas non plus un site hyper méga blindé mais assez pour dissuader les gens de frauder (style trop de temps à cracker le site pour le contenu qu'on va y trouver). Pour info le contenu c'est des données géoréférencés.
 
voilà voilà
Sylvain

mood
Publicité
Posté le 01-07-2007 à 17:49:08  profilanswer
 

n°1581394
ZeBix
edit > preview
Posté le 02-07-2007 à 10:54:39  profilanswer
 

Je pense que ce que tu décris comme système de sécurité ici est suffisant pour ton site.
 
Au lieu de faire un $_SESSION['login'] tu peux carrément enregistrer le nom de l'utilisateur une fois qu'il est correctement identifié (par exemple $_SESSION['login'] = "Ernesto" ), puisque tu vas avoir tôt ou tard besoin de cette variable .. Ensuite au lieu de vérifier si $_SESSION['login'] == true, tu fais plutôt un if (isset($_SESSION['login']))
 
Autre chose : veille à encoder tes mots de passes dans ta BD pas en clair, mais en crypté, par exemple en md5. Il y a des fonctions toutes faites pour cela, je te laisse googler :)

n°1581441
lordankou
Posté le 02-07-2007 à 12:42:14  profilanswer
 

ZeBix a écrit :

Je pense que ce que tu décris comme système de sécurité ici est suffisant pour ton site.
 
Au lieu de faire un $_SESSION['login'] tu peux carrément enregistrer le nom de l'utilisateur une fois qu'il est correctement identifié (par exemple $_SESSION['login'] = "Ernesto" ), puisque tu vas avoir tôt ou tard besoin de cette variable .. Ensuite au lieu de vérifier si $_SESSION['login'] == true, tu fais plutôt un if (isset($_SESSION['login']))
 
Autre chose : veille à encoder tes mots de passes dans ta BD pas en clair, mais en crypté, par exemple en md5. Il y a des fonctions toutes faites pour cela, je te laisse googler :)


 
 
merci bien. j'ai déjà effectuer la modif pour le login, maintenant faut que je crypte. mais bon pas envi aujourd'hui ça attendra demain  :D  

n°1583037
leflos5
On est ou on est pas :)
Posté le 05-07-2007 à 23:36:28  profilanswer
 

Je dirais que c'est un mauvais conseil que de vérifier uniquement l'existence d'une variable. Même si en soit dans le cas présent ça passe, de manière générale il vaut mieux éviter!  
 
Pourquoi? Parce qu'on est jamais à l'abris d'une faille et que typer fortement et vérifier ce qu'on attend permet de limiter la casse en cas de légère faille.
 
Exemple, imagines que tu laisses une faille qui permette de définir n'importe quelle variable de session. Login étant assez courant, ça facilite la tâche...

n°1584322
ZePRiNCE
Coucou, tu veux voir ma RTX ?
Posté le 10-07-2007 à 01:49:09  profilanswer
 

Si t'es parano, le mieux c'est de reverifier a chaque page si les valeurs dans la session sont toujours valable.
Dans cet exemple, le cryptage est fait en sha1() : c'est mieux que md5()
Dans la base les pass sont crypté deux fois en sha1, dans la session une fois en sha1.
 

Code :
  1. if (!empty($_SESSION['login']))
  2. {
  3. $sql = sprintf("SELECT pass FROM table_users WHERE login = '%s'" ),mysql_real_escape_string($_SESSION['login']);
  4. if (!empty($_SESSION['pass'] && ($_SESSION['pass'] == sha1(mysql_result(mysql_query($sql),0))))
  5. {
  6.   $logged=true;
  7. }
  8. }


 
Libre a toi d'inverser les conditions, et de mettre du die();, mais là en principe c'est blindé :D
 
Encore mieux tu ne stock pas en session le "login" mais plutot le "userid" qui est un chiffre, et si ce n'est pas is_numeric() alors gros die() dans la gueule (et du coup t'es sûr de ne jamais avoir d'injection sql).

Message cité 1 fois
Message édité par ZePRiNCE le 10-07-2007 à 01:49:17

---------------
A VENDRE: Razer Chroma ARGB Controller / Boitier / Support Triple Screen / Ventirad / Carte USB3
n°1584324
Profil sup​primé
Posté le 10-07-2007 à 02:58:55  answer
 

ZePRiNCE a écrit :

alors gros die() dans la gueule


 
 :lol:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  site à accès limité.

 

Sujets relatifs
Site pour uploader une animation flashWebmail pour site de rencontre
Mettre un site en page de démarrageRecherche "style" de forum...en php pour site web
[Résolu]Cherche façon plus simple de créer un site ? -> MVCsite en html qui resemble a du flash ?
[SQL] Probleme avec mon site et SQL !Creation d'un site (point de depart: zero)
Heberger un serveur de discussion sur un site webmettre en ligne mon site
Plus de sujets relatifs à : site à accès limité.


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR