IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Question sécurité PHP, HTML


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1
    Par défaut Question sécurité PHP, HTML
    Bonjour, je suis actuellement en phase de programmation d'un site web, je ne rencontre pas tellement de problème, cependant, j'ai une question qui me tracasse.

    J'ai réussi à faire un accès sécurisé pour la page d'administration, permettant de mettre à jour la base de données, un programme php qui compare le MDP encodé en .md5 enregistré dans ma base de données, puis une redirection automatique si le MDP est correct.

    Ma question est la suivante : Lorque je ne connait pas l'adresse de la page d'administration (vers laquelle je suis redirigé) je suis obligé de passer par la partie log, MDP pour y accéder.
    Mais si je l'ai déjà enregistré dans mon historique, je peux y accéder directement. Comment faire pour que si par exemple quelqu'un de mal intentionné utilise un aspirateur de site afin de récupérer cette adresse, retombe sur la page de log même si l'adresse rentrée est celle de la page d'administration.

    En d'autres termes, comment puis-je sécurisée cette page pour qu'elle ne soir accessible uniquement depuis la page de log (sur la page d'administration, j'ai des liens me menant à des pages d'insertion de données, peuvent-elles être sécurisées elles aussi ?) ?
    Suis-je obligé d'utiliser un .htaccess ? (je n'ai pas essayer cette méthode)

    Merci de vos réponses,

    Cordialement.

  2. #2
    Rédacteur
    Avatar de Halleck
    Homme Profil pro
    Consultant PHP
    Inscrit en
    Mars 2003
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Consultant PHP

    Informations forums :
    Inscription : Mars 2003
    Messages : 597
    Par défaut
    Une simple redirection ? Soit j'ai mal compris, soit c'est pas sécurisé... Tu n'utilise pas de session ?

    => si le mdp est bon, alors initialiser une variable de session qui dit que le login est ok...

    Sinon, un htaccess c'est une solution oui. C'est assez facile. Une petite recherche sur Google avec "htaccess htpaswd" devrait t epermettre de faire ça rapidement.

    Bon courage

  3. #3
    Membre chevronné
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 504
    Par défaut
    Je confirme, il n'y a en l'état AUCUNE sécurité sur ton site...

    Si tu veux un minimum de sécurité, tu dois inclure au début de chaque page sécurisé un script qui vérifie que l'utilisateur est bien autorisé (ou a defaut faire comme halleck le dit avec une protection HTACCESS plus difficile a gérer si tes MDP sont en base de donnée).

    Pour cela, tu dois utiliser les SESSION ou les COOKIES.

    Pour rappel, une session est une variable tableau superglobal, et dont le contenu est conservé au cours de la navigation. C'est idéal pour y indiquer si oui ou non l'utilisateur a deja saisi son MDP lors de la navigation.

    Tu n'as alors plus qu'a tester au début de chaque page sécurisé si le mot de passe a été saisi ou non dans ce tableau.

  4. #4
    Rédacteur
    Avatar de Halleck
    Homme Profil pro
    Consultant PHP
    Inscrit en
    Mars 2003
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Consultant PHP

    Informations forums :
    Inscription : Mars 2003
    Messages : 597
    Par défaut
    Citation Envoyé par comode Voir le message
    Pour cela, tu dois utiliser les SESSION ou les COOKIES.
    Je ne suis pas convaincu de la pertinence des cookies... Des variables stockées chez le client ne me semblent pas très fiables, dumoins si on cherche de la sécurité.

    Il y a de très bon tutos dans la rubrique PHP

    Allez, je suis motivé, alors un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
     
    <?php
     
    //
    // initialiser une session
    session_start();
     
     
    //
    // récupérer les donnees du formulaire
    $pwd 	= $_POST['password'];
    $user 	= $_POST['user'];
     
     
    //
    // protéger
     
    // => is string ()
    // => mysql_escape_strings ()
    // etc.
     
     
    //
    // crypter
    $pwd = md5 ($pwd);
     
     
    //
    // requete SQL
    $sql = "SELECT * FROM `ta_table` WHERE `user` = '$user' ... ";
    // query, verifications...
     
     
    //
    // une fois le query effectué, les données récupérées
     
     
    if (tout est bon) {
    	// on stock l'information dans une variable spéciale, une variable de session, qui est conservée de page en page durant la navigation
    	$_SESSION['userIsLogged'] = true;
    	$_SESSION['userName'] = $user;
    	...
    }
     
     
    //
    // et après, pour vérifier, dans n'importe quel fichier qui contient session_start(); :
    if(!$_SESSION['userIsLogged]) die ('accès non autorisé');
    
    
    [...]
    Pour avoir une vision très générale.

    Bon courage

  5. #5
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Par défaut
    Je plussoie le session_start.

    Ceci dit, les cookies peuvent appeler à une bonne sécurité...

    Par exemple, un cookie qui se périmerait au bout d'un temps très court si la personne n'a pas fait d'action, demandant à nouveau de se loguer.

    Ça se fait ^^
    *Si la réponse vous convient, n'oubliez pas le tag
    *Exprimez vous dans un français correct; on prend le temps de vous lire, prenez le temps de bien écrire.
    *Et comment on interprète votre code? N'oubliez pas la balise!

    *Pour une mise en page simple avec des divs.
    *Pour faire des formulaires xHTML CSS.

  6. #6
    Membre Expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    Citation Envoyé par Deallyra Voir le message
    Ceci dit, les cookies peuvent appeler à une bonne sécurité...
    J'abonderais dans ce sens en disant une sécurité suffisante. Il faut vraiment avoir un site sensible pour que des personnes commencent à intercepter ou bidouiller les cookies. Ca c'était mon côté stop la parano !

    Mais d'un autre côté, les sessions sont tellement faciles à utiliser qu'il serait dommage de s'en priver.


Discussions similaires

  1. question générale d'un débutant php&html&js
    Par movlw dans le forum Général Conception Web
    Réponses: 4
    Dernier message: 31/07/2014, 17h38
  2. Question optimisation de code PHP/HTML
    Par heavenvibes dans le forum Langage
    Réponses: 7
    Dernier message: 14/08/2008, 11h57
  3. Réponses: 5
    Dernier message: 27/06/2006, 15h03
  4. [Sécurité] [PHP] Sécurité
    Par diaboloche dans le forum Langage
    Réponses: 5
    Dernier message: 11/10/2005, 08h42
  5. [FLASH MX] php => html => Flash MX
    Par Jefekoi dans le forum Flash
    Réponses: 10
    Dernier message: 03/09/2005, 21h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo