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

  FORUM HardWare.fr
  Programmation
  PHP

  Accès sécurisé > Besoin d'avis

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Accès sécurisé > Besoin d'avis

n°1153461
AlphaZone
Posté le 19-07-2005 à 11:23:16  profilanswer
 

Bonjour,
 
Actuellement de développe un site en PHP. Celui-ci contiendra une partie privée.
 
Etant donné que je ne sais pas trop comment obtenir une sécurité optimale pour mes pages, j'aurais aimé connaitre vos avis concernant ma méthode :

Code :
  1. <?php
  2. session_start(); // Démarrage session
  3. include_once("includes/config.php" );
  4. include_once("includes/fct.php" );
  5. if(isset($_SESSION["ident_login"]) && isset($_SESSION["ident_pass"]))
  6. {
  7.   $link_ident = connect(HOST, LOGIN, PASS);
  8.   if(!$link_ident)
  9.     echo mysql_error();
  10.   else
  11.   {
  12.     if(!select_db(DATABASE, $link_ident))
  13.       echo mysql_error();
  14.     else
  15.     {
  16.       $req = "SELECT login, pass, session FROM ".$tbl_admins." WHERE login='".$_SESSION['ident_login']."' AND pass='".$_SESSION['ident_pass']."' AND session='".$_GET['sid']."'";
  17.       $sql = requete($req, $link_ident);
  18.       if(!sql)
  19.         echo mysql_error();
  20.       else
  21.       {
  22.        if(mysql_num_rows($sql) == 1)
  23.        {
  24.         // Affichage page HTML
  25.         include("includes/header.html" );
  26.         echo "<!-- DEBUT BODY -->";
  27. ?>
  28. <?php
  29.           echo "<!-- FIN BODY -->";
  30.         include("includes/footer.html" );
  31.        }
  32.       }
  33.     }
  34.   }
  35. }
  36. ?>


 
 
Comment vous aurez pu le remarquer, j'ai un répertoire includes dans lequel je stock des fichiers important comme le "config.php". J'aurais également aimé quel chmod je dois mettre pour éviter toute intrusion dans ce répertoire ???
 
Merci d'avance :)


Message édité par AlphaZone le 19-07-2005 à 11:27:15
mood
Publicité
Posté le 19-07-2005 à 11:23:16  profilanswer
 

n°1153538
afbilou
pouet your life
Posté le 19-07-2005 à 12:06:32  profilanswer
 

Un .htaccess dans le dit repertoire pour interdire l'acces via http.
PHP ayant acces au systeme de fichiers par le disque et non par http les inclusions se derouleront sans probleme.

n°1153543
plainsofpa​in
Pingouino's lover
Posté le 19-07-2005 à 12:07:36  profilanswer
 

pis les pass en clair spa cool, un hachage en md5 minimum je dirais :)


---------------
http://www.alsacreations.com , http://www.openweb.eu.org. Mon CV : http://cv.roane-irkana.net/. Exemple à ne surtout pas suivre : www.worldinternet.be
n°1153619
AlphaZone
Posté le 19-07-2005 à 13:24:02  profilanswer
 

plainsofpain a écrit :

pis les pass en clair spa cool, un hachage en md5 minimum je dirais :)


Je ne parle pas de cryptage. J'ai crypté le mot de passe bien avant cette page (Pas fou moa ^^).
 
Je voulais juste savoir si ma méthode était fiable ou pas.

n°1153622
plainsofpa​in
Pingouino's lover
Posté le 19-07-2005 à 13:26:00  profilanswer
 

Ah ben si c'est déjà crypté alors ... concernant la sureté de ta méthode, je ne suis pas expert ^^'


---------------
http://www.alsacreations.com , http://www.openweb.eu.org. Mon CV : http://cv.roane-irkana.net/. Exemple à ne surtout pas suivre : www.worldinternet.be
n°1154007
bl@p_psx
Admin G15-france
Posté le 19-07-2005 à 17:54:10  profilanswer
 

une petite verification prealable des variables de sessions et surtout de ta variable GET ... ( par definition, verifie toujours la variable GET
 
exemple :  
 

Code :
  1. if(IsSet($_GET['a'])) $a = htmlentities($_GET['a']); else $a = '';


 
du moin c'est ce que je fait pour les variables GET ( je fait pareil sur les variables de SESSION ... ( ca permet aussi de travailler avec une variable plus simple et d'eviter les erreurs undifined ... )
 
@+


---------------
:Moultiplayers:.:Quatuor Chevalier:.:Admin G15-france.com:.:Wiki -G15-france:.:-Papa-:.
n°1154104
micfont999
Simplement Moi
Posté le 19-07-2005 à 21:57:30  profilanswer
 

bl@p_psx a écrit :

une petite verification prealable des variables de sessions et surtout de ta variable GET ... ( par definition, verifie toujours la variable GET
 
exemple :  
 

Code :
  1. if(IsSet($_GET['a'])) $a = htmlentities($_GET['a']); else $a = '';


 
du moin c'est ce que je fait pour les variables GET ( je fait pareil sur les variables de SESSION ... ( ca permet aussi de travailler avec une variable plus simple et d'eviter les erreurs undifined ... )
 
@+


 
Je passerais en POST perso, sinon je suis d'avis de faire quand même un htaccess qui est plus sécurisant, mais carrément moins beau au niveau de l'identification..  
Mais sinon ça m'a pas l'air mal :)  
ça va etre un gros site qui risque d'avoir beaucoup de piratage?  
 
 [:magnasuprema]  

n°1154118
AlphaZone
Posté le 19-07-2005 à 22:11:58  profilanswer
 

Merci beaucoup les gars.
 
Non c'est un petit site enfin la partie public. La partie privée se corse un peu ^^

n°1154121
micfont999
Simplement Moi
Posté le 19-07-2005 à 22:14:15  profilanswer
 

AlphaZone a écrit :

Merci beaucoup les gars.
 
Non c'est un petit site enfin la partie public. La partie privée se corse un peu ^^


 
Donc tu doit quand même pas avoir une grosse sécurité, ce que tu à fait est déjà pas mal va..  :whistle:

n°1154201
sielfried
Posté le 20-07-2005 à 00:10:13  profilanswer
 

Et puis comme d'hab un coup de mysql_real_escape_string sur les variables de la requête ça fait pas de mal, surtout pour le $_GET['sid'] facilement modifiable.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
mood
Publicité
Posté le 20-07-2005 à 00:10:13  profilanswer
 

n°1154644
AlphaZone
Posté le 20-07-2005 à 13:11:37  profilanswer
 

sielfried a écrit :

surtout pour le $_GET['sid'] facilement modifiable.


Justement, si un petit malin s'amuse à modifier le PHPSESSID, il se retrouvera sur la page login. Si tu regarde ma requete, je vérifie tout : Login, Pass et le SID.
 
 
Si vous voyez dans mon code, une faille, dite le moi. Merci :)

n°1154654
sielfried
Posté le 20-07-2005 à 13:19:34  profilanswer
 

Et s'il se débrouille pour que $_GET['sid'] ressemble à un truc du genre :
 

Code :
  1. ' OR 1=1 LIMIT 1 --


 
?


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1154659
afbilou
pouet your life
Posté le 20-07-2005 à 13:21:49  profilanswer
 

Bah dans l'os http://membres.lycos.fr/angel2k/petrus/petruskahn.gif

n°1154666
micfont999
Simplement Moi
Posté le 20-07-2005 à 13:31:05  profilanswer
 

Bah il nous fait pas un site pour une banque non plus.. Faut déjà en vouloir pour pirater un site perso, je ne m'amuse pas à ça  personnellement... :)

n°1154674
plainsofpa​in
Pingouino's lover
Posté le 20-07-2005 à 13:35:57  profilanswer
 

Y a bien un neuneu qu'a piraté le site spreadfirefox !
 
Si je sais qui c'est un jour, il passera un sale quart d'heure ! :p


Message édité par plainsofpain le 20-07-2005 à 13:36:27

---------------
http://www.alsacreations.com , http://www.openweb.eu.org. Mon CV : http://cv.roane-irkana.net/. Exemple à ne surtout pas suivre : www.worldinternet.be
n°1154679
micfont999
Simplement Moi
Posté le 20-07-2005 à 13:40:15  profilanswer
 

lol, c'est vrai j'ai eu un babane qui à pirater mon site lol... Mais lui part contre j'ai trouvé et il à faillit finir chez les flics.. hihi, il recommencera pas de si tot... :)

n°1154745
AlphaZone
Posté le 20-07-2005 à 14:22:13  profilanswer
 

sielfried a écrit :

Et s'il se débrouille pour que $_GET['sid'] ressemble à un truc du genre :
 

Code :
  1. ' OR 1=1 LIMIT 1 --


 
?


Il ferait comment pour modifier cela ? Je suis curieux.
 

micfont999 a écrit :

Bah il nous fait pas un site pour une banque non plus.. Faut déjà en vouloir pour pirater un site perso, je ne m'amuse pas à ça  personnellement... :)


Ce n'est pas un site perso. C'est pour une petite entreprise.

n°1154754
micfont999
Simplement Moi
Posté le 20-07-2005 à 14:25:48  profilanswer
 

oki oki, mais ta déjà pas mal de sécurité.. elle est hyper connue ton entreprise la? elle va engendrée plein de piratage?

n°1154755
FlorentG
Unité de Masse
Posté le 20-07-2005 à 14:26:44  profilanswer
 

AlphaZone a écrit :

Il ferait comment pour modifier cela ? Je suis curieux.


Vu que c'est en $_GET, c'est ultra-culcul

n°1154760
micfont999
Simplement Moi
Posté le 20-07-2005 à 14:30:17  profilanswer
 

FlorentG a écrit :

Vu que c'est en $_GET, c'est ultra-culcul


 
Pour toi :)
Explain voir, j'aimerais savoir aussi please, je connais pas cette méthode... Merki d'avance..  :hello:  
 

n°1154761
afbilou
pouet your life
Posté le 20-07-2005 à 14:31:49  profilanswer
 

bah suffit d'aller a l'adresse suivante :
_http://sonsite.fr/index.php?sid='%20OR%201=1%20LIMIT%201%20--


Message édité par afbilou le 20-07-2005 à 14:32:05
n°1154772
FlorentG
Unité de Masse
Posté le 20-07-2005 à 14:37:56  profilanswer
 

Voilà, tout ce qui est en GET figure dans l'URL [:spamafote]

n°1154794
afbilou
pouet your life
Posté le 20-07-2005 à 14:46:55  profilanswer
 

D'une maniere generale tu dois filtrer TOUTES les données ($_GET, $_POST, $_FILE) etc qui sont envoyées par un client.
 
Les expressions regulieres sont tout indiquées pour faire cela.

n°1154799
AlphaZone
Posté le 20-07-2005 à 14:49:30  profilanswer
 

micfont999 a écrit :

oki oki, mais ta déjà pas mal de sécurité.. elle est hyper connue ton entreprise la? elle va engendrée plein de piratage?


Non. C'est une entreprise qui travail dans un rayon de 40km environ. Il n'y a que 2 personnes.
 

afbilou a écrit :

bah suffit d'aller a l'adresse suivante :
_http://sonsite.fr/index.php?sid='%20OR%201=1%20LIMIT%201%20--


Ah ok. Merci.
 
 
J'ai utilisé une fonction proposé sur le site de nexen qui utilise mysql_real_escape_string et cette fois je vais formaté ma requête pour chaque page.

n°1154812
AlphaZone
Posté le 20-07-2005 à 14:54:56  profilanswer
 

J'ai un problème avec mon fichier logout.php
 
J'ai beau détruire la session, j'arrive à accèder aux pages juste en repassant le SID de ma session en GET.
Dites-moi ce que je peux faire, svp.
 
Voici le code :

Code :
  1. <?php
  2. session_start();
  3. $_SESSION = array();
  4. session_destroy();
  5. header("location: index.php" );
  6. ?>

n°1155165
bl@p_psx
Admin G15-france
Posté le 20-07-2005 à 17:44:22  profilanswer
 

ne passe pas le sid en GET, ne le passe pas du tout ... enfin, je dis ca, j'ai rien dis ... :D


---------------
:Moultiplayers:.:Quatuor Chevalier:.:Admin G15-france.com:.:Wiki -G15-france:.:-Papa-:.
n°1155305
AlphaZone
Posté le 20-07-2005 à 20:40:45  profilanswer
 

bl@p_psx a écrit :

ne passe pas le sid en GET, ne le passe pas du tout ... enfin, je dis ca, j'ai rien dis ... :D


Pourquoi donc ? Il y a des sites qui le font.

n°1155332
bl@p_psx
Admin G15-france
Posté le 20-07-2005 à 21:30:29  profilanswer
 

un petit peu de lecture sur les sessions
http://www.manuelphp.com/php/ref.session.php
 
@+
 
ps: je le fait parceque le SID est recuperable sans le passer en argument et que, je n'aime pas voir le sid dans une url ... mais c'est juste un choix, loin de moi l'idée d'argumenter pour ou contre ...


---------------
:Moultiplayers:.:Quatuor Chevalier:.:Admin G15-france.com:.:Wiki -G15-france:.:-Papa-:.
n°1155466
micfont999
Simplement Moi
Posté le 21-07-2005 à 00:33:39  profilanswer
 

pourquoi tu peux pas la passer en post,,
??

n°1155526
AlphaZone
Posté le 21-07-2005 à 07:15:38  profilanswer
 

bl@p_psx a écrit :

un petit peu de lecture sur les sessions
http://www.manuelphp.com/php/ref.session.php
 
@+
 
ps: je le fait parceque le SID est recuperable sans le passer en argument et que, je n'aime pas voir le sid dans une url ... mais c'est juste un choix, loin de moi l'idée d'argumenter pour ou contre ...


 
Dans le site que tu m'as passé , j'ai pu lire ceci :

Citation :

Le module de session supporte les deux méthodes. Les cookies sont optimaux, mais comme ils ne sont pas sûrs (tous les internautes ne les acceptent pas), ils ne sont pas fiables. La seconde méthode place l'identifiant de session directement dans les URL.


 
Je dois en déduire quoi exactement ?
Quelle méthode serait la mieu adaptée ?
 
 
Sinon j'voulais vous remercier pour votre aide, c'est super sympas :)

n°1155613
FlorentG
Unité de Masse
Posté le 21-07-2005 à 10:31:27  profilanswer
 

La meilleure méthode, c'est de passer par SSL :D

n°1155773
bl@p_psx
Admin G15-france
Posté le 21-07-2005 à 11:44:43  profilanswer
 

ce que je veux dire c'est qu'il n'y a pas besoin de passer le SID dans l'url pour recuperer les variables de sessions ...
 
@+
 
ps: pour le SSL  :jap:


Message édité par bl@p_psx le 21-07-2005 à 11:45:24

---------------
:Moultiplayers:.:Quatuor Chevalier:.:Admin G15-france.com:.:Wiki -G15-france:.:-Papa-:.
n°1155968
AlphaZone
Posté le 21-07-2005 à 13:41:13  profilanswer
 

Ok.
 
Merci encore pour vos aides!

mood
Publicité
Posté le   profilanswer
 


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

  Accès sécurisé > Besoin d'avis

 

Sujets relatifs
Besoin d'aide (pour rendre ma page potable sur firefox)[Débutant] Besoin d'une explication en HTML
vos avis sur un soft que j'ai devScript CGI > Besoin d'aide
votre avis sur mon premier script php (100 lignes)Spip le code source ! votre avis
[access] Formulaire pour choisir chemin d'acces d'un fichierProbleme temps d'acces
Besoin d'aide sur l'utilite d'une equation logiquebesoin d'aide pour faire un exe en liaison avec Flash (C++Builder)
Plus de sujets relatifs à : Accès sécurisé > Besoin d'avis


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