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

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Comment protéger des pages web ?

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] Comment protéger des pages web ?

n°708022
BaDaBoOm
Posté le 25-04-2004 à 15:53:33  profilanswer
 

voici ce que je compte inclure a chaque début de mes pages , cela apporte-t-il une securité suffisante ?
 

Code :
  1. if ( !isset($_SERVER['PHP_AUTH_USER']) ) {
  2.    header('WWW-Authenticate: Basic realm="My Realm"');
  3.    header('HTTP/1.0 401 Unauthorized');
  4.  
  5.    exit();
  6. }
  7. else {
  8.    include("connect.inc.php" );
  9.    $query='SELECT pass from users WHERE pseudo='.$_SERVER['PHP_AUTH_USER'] ;
  10.    $ker=mysql_query($query);
  11.    $k=mysql_fetch_array($ker);
  12.  
  13.       if( $k[0] != $_SERVER['PHP_AUTH_PW'] ){
  14.       header("Location: index.php" );
  15.       exit();
  16.       }
  17. }
  18. print 'on affiche le reste de la page';
  19. ?>


 
 
merci pour votre aide
 
(sujet édité)


Message édité par BaDaBoOm le 25-04-2004 à 20:54:27
mood
Publicité
Posté le 25-04-2004 à 15:53:33  profilanswer
 

n°708053
BaDaBoOm
Posté le 25-04-2004 à 17:21:10  profilanswer
 

personne ?

n°708096
nemohp
Adepte du provisoire permanent
Posté le 25-04-2004 à 18:28:40  profilanswer
 

non, car tous est tjrs piratable, lol
 
franchement j'en c rien

n°708105
BaDaBoOm
Posté le 25-04-2004 à 18:38:35  profilanswer
 

lol pas bcp de réponses !
peut etre que mon sujet n'est pas très bien formulé.
attendons ...

n°708179
BaDaBoOm
Posté le 25-04-2004 à 22:32:07  profilanswer
 

bon ca marche a peu pres mais comment renvoyer a un form de login quand le mdp entré est mauvais ??

n°708191
agentbombe
La programmation ca a du bon
Posté le 25-04-2004 à 22:49:31  profilanswer
 

une page web n'est pas protégeable a 100 % il a toujours moyen de la recuperer ......

n°708217
BaDaBoOm
Posté le 25-04-2004 à 23:35:30  profilanswer
 

bon je n'arive tjrs pas a faire marcher ce système correctement, lq j'entre un mauvais mdp je suis redirigé vers une page erreur.php qui doit effacer les variables $_SERVER['PHP_AUTH_USER'] et $_SERVER['PHP_AUTH_PW'] comme ceci unset($_SERVER['PHP_AUTH_USER'],$_SERVER['PHP_AUTH_PW']) mais lorsque je retourne vers la page securisé au lieu de me redemander l'identification il me renvoi direct sur erreur .php, comme si les 2 var n'avaient pas été effacées.
 
voici le code legerement modifié :

Code :
  1. include("config.php" );
  2. if(isset($conf_security) and $conf_security=="on" ){
  3. if ( !isset($_SERVER['PHP_AUTH_USER']) ) {
  4.    header('WWW-Authenticate: Basic realm="My Realm"');
  5.    header('HTTP/1.0 401 Unauthorized');
  6.  
  7.    exit();
  8. }
  9. else {
  10.    include("connect.inc.php" );
  11.    $query='SELECT pass from users WHERE             pseudo='.$_SERVER['PHP_AUTH_USER'] ;
  12.    $ker=mysql_query($query);
  13.    $k=mysql_fetch_array($ker);
  14.    $pw=$_SERVER['PHP_AUTH_PW'];
  15.  
  16.       if( $k[0] != $pw ){
  17.   header("Location: erreur.php" );
  18.  
  19.   exit();
  20.       }
  21. }
  22. }


 
la page erreur :

Code :
  1. unset($_SERVER['PHP_AUTH_USER'],$_SERVER['PHP_AUTH_PW']);


Message édité par BaDaBoOm le 25-04-2004 à 23:39:02
n°708235
BaDaBoOm
Posté le 26-04-2004 à 00:09:22  profilanswer
 

Ah ca marche enfin !!
 
après quelques bidouilles le code fait enfin tout ce que je veux, je met la solution pour ceux que ca interesse :
 
à inclure en tete de chaque page a protéger :

Code :
  1. <?php
  2. include("config.php" );
  3. if(isset($conf_security) and $conf_security=="on" ){
  4. if(isset($_SERVER['PHP_AUTH_USER'])){
  5. include("connect.inc.php" );
  6. $query='SELECT pass from users WHERE pseudo='.$_SERVER['PHP_AUTH_USER'] ;
  7.    $ker=mysql_query($query);
  8.    $k=mysql_fetch_array($ker);
  9. mysql_close();
  10. }
  11. if ( ( !isset( $_SERVER['PHP_AUTH_USER'] )) || (!isset($_SERVER['PHP_AUTH_PW'])) || ( $_SERVER['PHP_AUTH_PW'] != $k[0] ) ) {
  12.    header('WWW-Authenticate: Basic realm="My Realm"');
  13.    header('HTTP/1.0 401 Unauthorized');
  14.  
  15.    print 'erreur de connexion';
  16.  
  17.    exit();
  18. }
  19. }
  20. ?>


 
petit inconvénient: ca fait une connection mysql a chaque page ce qui est peut etre un peu lourd.Pensez-vous qu'utiliser une variable de session serait mieux ou pas ?


Message édité par BaDaBoOm le 26-04-2004 à 00:18:26
n°709920
BaDaBoOm
Posté le 27-04-2004 à 16:34:22  profilanswer
 

petite mise a jour pour ceux qui voudraient s'inspirer de cette méthode, j'ai rajouté quelques verifications . Dans l'ancienne version il sufisait de laisser la case mdp vide et de valider pour accéder au document c'est maintenant résolu :

Code :
  1. <?php
  2. include("config.php" );
  3. if(isset($conf_security) and $conf_security=="on" ){
  4. if(isset($_SERVER['PHP_AUTH_USER']) && isset($_SERVER['PHP_AUTH_PW']) && $_SERVER['PHP_AUTH_USER']!=0 && $_SERVER['PHP_AUTH_PW']!=0){
  5. include("connect.inc.php" );
  6. $query='SELECT pass from users WHERE pseudo='.$_SERVER['PHP_AUTH_USER'] ;
  7. $ker=mysql_query($query);
  8. $k=mysql_fetch_array($ker);
  9. mysql_close();
  10. }
  11. if ( ( !isset( $_SERVER['PHP_AUTH_USER'] )) || (!isset($_SERVER['PHP_AUTH_PW']))
  12.         || ( $_SERVER['PHP_AUTH_PW'] != $k[0] ) || $_SERVER['PHP_AUTH_USER']==0 || $_SERVER['PHP_AUTH_PW']==0 ) {
  13.    header('WWW-Authenticate: Basic realm="My Realm"');
  14.    header('HTTP/1.0 401 Unauthorized');
  15.  
  16.    print 'erreur de connexion';
  17.  
  18.    exit();
  19. }
  20. }
  21. ?>

n°710407
juanetfann​y
Posté le 28-04-2004 à 08:27:41  profilanswer
 

:jap:  pour avoir posté less résultats de tes tests, ça peut toujours servir !
 
 :hello:


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

  [PHP] Comment protéger des pages web ?

 

Sujets relatifs
[Php] - Resultat de la base SQL sur une page .[PHP] Remplacement de texte d'url par l'url...
pb d'insertion fichier php dans code jsProbléme programmation PHP pour enregistremetn dasn deux tables MySQL
[PHP] Fomulaire sans "submit"[PHP] est il posible de rechercher le caractère * dans une chaine de c
[PHP/MySQL] Nombre de lignes dans mysql_fetch_array ?Passage de EasyPHP/WIN à PHP/Mysql sous Linux
Commentaires en PHP ... [Résolu][PHP]Détecter les modules installés
Plus de sujets relatifs à : [PHP] Comment protéger des pages web ?


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