Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

[résolu] securiser partie admin en php


HeAdLeSs

Messages recommandés

Sur les pages suivantes il suffit de vérifier que le $_SESSION["nom"] existe et qu'il est egal au nom dans la base.

Si ca marche on verifie dans se cas l'existence de $_SESSION["mdp"] et que son contenu est bien egal au mot de passe dans la base.

Si c'est bon on verifie maintenant que la variable $_SESSION["hash"] existe et que sa valeur est bien la meme que dans la base.

 

Salut !

 

Moi ce qui m'embête c'est que tu fais à chaque chargement de page des appels à la base pour vérifier l'authentification. Tu devrais pas vraiment ressentir le problème si t'as un site avec peu de visiteurs, mais pour un gros traffic ça devient réellement handicapant. Tout dépend comment tu t'y prends pour récupérer toutes tes infos.

 

Une solution pourrait être qu'une fois authentifié, tu stockes dans une variable de session l'identifiant du visiteur dans la base (nom ou id) crypté au format md5 (fonction md5() en PHP).

 

Sachant qu'elle est également supportées par MySQL... pour vérifier l'intégrité du visiteur authentifié, il suffirait d'exécuter cette requête:

 

SELECT * FROM MEMBRES WHERE MD5(id) = '.$_SESSION['id']

 

Si rien n'est retourné alors il faut s'identifier de nouveau.

 

 

J'avais également trouvé une solution au problème rencontré avec le navigateur AOL, qui ne permet pas d'utiliser les cookies de session. Il suffit de créer un cookie normal (chez le client donc) stockant le nom utilisateur et le mot de passe au format md5(). Ainsi s'il ne trouve plus le cookie de session, il va chercher les infos dans le cookie et identifie de nouveau le visiteur. (Le cookie étant géré comme un cookie de session au niveau de la durée de vie).

 

Bon courage !

Lien vers le commentaire
Partager sur d’autres sites

Salut nessi,

 

Merci bien pour ces informations ! Je ne connaissais pas la fonction md5() je vais fouiller sur php.net.

+a+

504742[/snapback]

En fait, la fonction md5() renvoie une chaine de 32 caractères totalement unique et irréversible, c'est c'est à dire qu'il n'existe pas de routine de décryptage. Le seul moyen de retrouver la chaine cryptée et de tester tous les solutions possibles, autrement dit faut avoir le temps, du courage et 1 ou 2 super-calculateurs :P

 

Bon courage pour tes recherches...

Lien vers le commentaire
Partager sur d’autres sites

T'inquiète j'ai filé sur php.net t j'ai écis un petit script de calcul :-P

 

http://forum.zebulon.fr/index.php?showtopic=66678

504762[/snapback]

 

Ben t'as pas trainé :P

Juste un truc: lorsque je ne renseigne qu'un champ j'ai bien le message d'alerte mais il me calcule quand même la solution :-(

Modifié par nessi
Lien vers le commentaire
Partager sur d’autres sites

Ben t'as pas trainé  :P

Juste un truc: lorsque je ne renseigne qu'un champ j'ai bien le message d'alerte mais il me calcule quand même la solution  :-(

504771[/snapback]

 

 

Oui Oui je viens de voir ca j'ai modifié la page :-P

 

j'avais oublié le return en javascript... Je l'oublie tout le temps !

 

 

+a+

Modifié par HeAdLeSs
Lien vers le commentaire
Partager sur d’autres sites

J'ai fini de sécuriser les pages qui le devaient. C'est très efficace le md5 j'ai évité plein de requêtes !

 

Sinon voilà le site que je suis en train de développer :

http://gepea.univ-nantes.fr/fr/

ancienne url :

http://www.sciences.univ-nantes.fr/physiqu...EA/accueil.html

 

Le logo n'y est pas parce qu'il est trop moche et il faut que j'arrive à les persuader de me laisser le refaire.

 

C'est de la beta test, plus j'aurais de personnes qui vont se balader plus je pourrais debugger le site.

 

Les news sont en miniscules parce que j'avais oublié de virer un petit strtolower() ce qui a été fait depuis. Je dirais à mon maitre de stage de ré-éditer les news.

 

Pour les fautes d'orthographes ce n'est pas moi qui poste, je ne fais que développer... Le contenu je m'en moque. Donc pas la peine de corriger, la personne chargée de poster les news ne lira pas ces remarques :P

 

Je bosse pour le GEPEA basé à Saint-Nazaire. C'est un regroupement de divers labos, ecoles,etc... pour la recherche scientifique.

 

Merci d'avance !

 

+a+

Lien vers le commentaire
Partager sur d’autres sites

Salut Kewlcat,

 

Pas mal le principe du hashage. Tu peux m'expliquer un peu plus precisement comment tu fais ?

 

Pour ce qui est de l'authentification au depart (voir sur toutes les pages) je suis d'accord mais ce serait trop lourd pour le site que je réalise. il s'agit plus d'un site informatif, qui bougera peu (en tout cas c'est ce qu'on m'a dit).

(...)

J'ai une classe ConnectionTracker (singleton) qui est chargée de suivre les utilisateurs une fois authentifiés. Je ne fais qu'une seule requête en base pour vérifier user et pass avant génération du code de hashage aléatoire, et après je vais directement taper en mémoire pour voir si le couple { hashcode ; sessionID } est reconnu (et non expiré) par le Tracker.

En plus de ça, il me fournit d'autres services comme le fort inutile mais totalement indispensable compteur "il y a [x] utilisateurs connectés ([y] membres, [z] visiteurs)" ;-)

 

Voilà voilà. Je vais aller jeter un oeil à ton site, maintenant... :-)

 

 

-- edit --

Fais gaffe, dans la partie "Contacts", les adresses mail sont linkées "nom@domaine" et pas "mailto:nom@domaine"... (au passage, c'est pas très prudent de ne pas les générer dynamiquement à cause des sales robots qui récoltent les adresses mail sur les pages Web publiques...)

J'ai failli te féliciter pour le design des pages, mais maintenant que j'ai vu que c'était fait avec des <table>, j'hésite ;-P

Bref... Ca a l'air pas mal tout ça, faudra juste que je revienne quand j'aurai retrouvé l'extension Mozilla qui permet d'avoir le contenu des entêtes HTTP dans les infos de la page (hyper pratique !)

Lien vers le commentaire
Partager sur d’autres sites

Salut Kewlcat,

 

Merci pour ton explication sur le tracker, ca me sera surement utile une prochaine fois :P

Nessi m'a filé un tuyau : le md5, comme tu as pu le lire.

 

Merci pour le bug dans la partie contact je vais corriger. Par contre qu'est-ce que tu entends par dynamiquement ?

 

Qu'est-ce que tu me conseilles à la place des <table> pour mon futur site ?

 

Pour les en-tete je n'ai encore rien rempli lol

 

 

+a+

Lien vers le commentaire
Partager sur d’autres sites

Qu'est-ce que tu me conseilles à la place des <table> pour mon futur site ?

 

505075[/snapback]

 

Des 'div' sans hésiter. Tu n'as pas entendu parler des normes W3C ?

Fais une recherche rapide sur le sujet (simplement 'W3C' dans google) et t'auras aucun problème pour trouver des articles qui en parlent, parmis lesquels:

 

www.dicodunet.com

openweb.eu.org

 

Sans oublier le validateur W3C:

 

http://www.7-dragons.com/validation-w3c.htm

 

C'est un peu galère au début mais après tu peux plus t'en passer :P

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...