Précédent   Forum du club des développeurs et IT Pro > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 14/02/2008, 21h25   #181
Sub0
Expert Confirmé
 
Avatar de Sub0
 
Homme
Développeur Web
Inscription : décembre 2002
Messages : 3 489
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 40

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : décembre 2002
Messages : 3 489
Points : 3 514
Points : 3 514
Envoyer un message via MSN à Sub0 Envoyer un message via Skype™ à Sub0
Salut!

Je réouvre le sujet parce-que je travaille sur la nouvelle version 3 d'ESPMEM. Le programme est déjà bien avancé, mais je bloque sur un petit problème. Sachez d'abord que j'essaye de me passer de Javascript autant que possible, et pour l'instant, j'y arrive, car il n'y a pas une ligne de code JS et tout fonctionne...

Je ne sais plus si on en avait déjà discuté ou pas... Je voudrais simplement pouvoir interdire une connection lorsque celle-ci à déjà été effectuée. Je m'explique : L'utilisateur se connecte et après sa visite se déconnecte (normal). Seulement, l'historique du navigateur permettrait de revenir en arrière et de réafficher le formulaire de connection, et même si le mot de passe est affiché caché, il reste possible de se reconnecter. Je cherche donc une solution, un système de ticket peut-être pour contrer une connection avec un ancien formulaire.

Peut-être avez-vous des idées.

Merci.
Sub0 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2008, 10h28   #182
berceker united
Expert Confirmé
 
Avatar de berceker united
 
Développeur informatique
Inscription : février 2005
Messages : 3 030
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2005
Messages : 3 030
Points : 3 991
Points : 3 991
Citation:
Envoyé par Sub0 Voir le message
Salut!

Je réouvre le sujet parce-que je travaille sur la nouvelle version 3 d'ESPMEM. Le programme est déjà bien avancé, mais je bloque sur un petit problème. Sachez d'abord que j'essaye de me passer de Javascript autant que possible, et pour l'instant, j'y arrive, car il n'y a pas une ligne de code JS et tout fonctionne...

Je ne sais plus si on en avait déjà discuté ou pas... Je voudrais simplement pouvoir interdire une connection lorsque celle-ci à déjà été effectuée. Je m'explique : L'utilisateur se connecte et après sa visite se déconnecte (normal). Seulement, l'historique du navigateur permettrait de revenir en arrière et de réafficher le formulaire de connection, et même si le mot de passe est affiché caché, il reste possible de se reconnecter. Je cherche donc une solution, un système de ticket peut-être pour contrer une connection avec un ancien formulaire.

Peut-être avez-vous des idées.

Merci.
Fr : Connexion
En : Connection

Dans le livre sur la sécurité PHP5 et Mysql l'auteur livre une astuce qui pourrait éventuellement t'aider.
C'est la date d'expiration d'un formulaire. Dans un champs caché c'est de placer une date. Si c'est date est passé alors le formulaire n'est plus valide. Si le site est public alors il est possible de crypter via un MD5 cette date mais du coté serveur il faut faire un MD5 par seconde ou minute sur l'intervalle souhaité. Après il faut comparé avec ce qui a été envoyé et la liste des md5.
Il y a une autre solution qui consiste à ne pas valider une page si l'action précédente à été déjà faite en y plaçant un marqueur et en l'enregistrant.
Dans mon cas ou j'ai une suite d'action je marque le passage de chaque page.
S'il elle revient elle est annulé. Par contre, quand la suite d'action est finit alors le marquage est effacé et il peut recommencer.

En faite, il y a plusieurs idées qui peuvent être utilisées. Le but est d'utiliser celui qui le plus approprié sans gêner l'utilisateur.
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...
berceker united est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2008, 10h40   #183
Maxoo
Expert Confirmé
 
Avatar de Maxoo
 
Maxime Pasquier
Expert PHP
Inscription : novembre 2004
Messages : 2 123
Détails du profil
Informations personnelles :
Nom : Maxime Pasquier
Âge : 29
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Expert PHP
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2004
Messages : 2 123
Points : 2 704
Points : 2 704
Citation:
Envoyé par berceker united Voir le message
En faite, il y a plusieurs idées qui peuvent être utilisées. Le but est d'utiliser celui qui le plus approprié sans gêner l'utilisateur.
Tout a fait, parce que des fois, si un site rame ou autre, je reviens souvent au début des formulaires pour aller plus vite et recommencer.

Sub0 faudrait que tu m'expliques plus clairement pourquoi ça te pose un probleme ?

Moi mes formulaires de connexion ne sont jamais réaffiché même si on fait précédent...
__________________
Pour une bien meilleur lisibilité, utilisez la balise [code], c'est le [#] dans votre éditeur.
Mon espace Développez : mes Créations.


Rencontre & Carte des Membres de Developpez.com, version 3.0
Maxoo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2008, 13h49   #184
Sub0
Expert Confirmé
 
Avatar de Sub0
 
Homme
Développeur Web
Inscription : décembre 2002
Messages : 3 489
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 40

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : décembre 2002
Messages : 3 489
Points : 3 514
Points : 3 514
Envoyer un message via MSN à Sub0 Envoyer un message via Skype™ à Sub0
Merci pour vos réponses.

Le souci était qu'avec le retour arrière du navigateur, il était possible de réafficher le formulaire de connexion et un autre utilisateur pouvait l'utiliser pour se faire passer pour le membre, surtout qu'il ya une option dans ce programme pour pouvoir afficher le mot de passe en clair lors de sa saisie.

Citation:
Envoyé par Maxoo Voir le message
Moi mes formulaires de connexion ne sont jamais réaffiché même si on fait précédent...
Ce matin, j'ai ajouté des metas "nocache" dans le code et le problème ne semble plus se poser, c'est sûrement la solution la moins contraignante pour l'utilisateur, mais peut-être que le client a la possibilité de désactiver ces metas... Surtout, je ne veux pas qu'il soit possible de faire autrement, c'est-à-dire que, peu importe le navigateur et sa config, il ne soit pas possible d'obtenir un mot de passe dans le cache.

Vos idées m'intérressent des fois qu'il y aurait plus efficace.
Sub0 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/02/2008, 20h23   #185
berceker united
Expert Confirmé
 
Avatar de berceker united
 
Développeur informatique
Inscription : février 2005
Messages : 3 030
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2005
Messages : 3 030
Points : 3 991
Points : 3 991
il est aussi possible de placer un no cache via la fonction header de php. Regarde dans la doc PHP il place un syntaxe pour cela.
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...
berceker united est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2008, 19h33   #186
Sub0
Expert Confirmé
 
Avatar de Sub0
 
Homme
Développeur Web
Inscription : décembre 2002
Messages : 3 489
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 40

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : décembre 2002
Messages : 3 489
Points : 3 514
Points : 3 514
Envoyer un message via MSN à Sub0 Envoyer un message via Skype™ à Sub0
Bonsoir!

Merci pour vos réponses.

Je dois maintenant ajouter une blacklist d'IP. Comme il ne s'agit que de faire une lecture de cette liste, je pensais utiliser un simple fichier texte (accessible uniquement au script) contenant cette liste...

Selon vous, vaut-il mieux utiliser une table de données ? Si oui, pourquoi ?
Sub0 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2008, 09h58   #187
berceker united
Expert Confirmé
 
Avatar de berceker united
 
Développeur informatique
Inscription : février 2005
Messages : 3 030
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2005
Messages : 3 030
Points : 3 991
Points : 3 991
Un table en mémory (Heap) si ce genre d'information est très souvent demandé. Par contre, attention si jamais le serveur Mysql redémarre car les données vont disparaitre.
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...
berceker united est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2008, 12h11   #188
Sub0
Expert Confirmé
 
Avatar de Sub0
 
Homme
Développeur Web
Inscription : décembre 2002
Messages : 3 489
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 40

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : décembre 2002
Messages : 3 489
Points : 3 514
Points : 3 514
Envoyer un message via MSN à Sub0 Envoyer un message via Skype™ à Sub0
Je ne connaissais pas, c'est exactement ce qu'il me faut je crois.
Je suppose qu'il est possible de créer cette table à partir du fichier texte contenant les IP et de la recréer si elle disparaît...

Merci
Sub0 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2008, 14h11   #189
berceker united
Expert Confirmé
 
Avatar de berceker united
 
Développeur informatique
Inscription : février 2005
Messages : 3 030
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2005
Messages : 3 030
Points : 3 991
Points : 3 991
Citation:
Envoyé par Sub0 Voir le message
Je ne connaissais pas, c'est exactement ce qu'il me faut je crois.
Je suppose qu'il est possible de créer cette table à partir du fichier texte contenant les IP et de la recréer si elle disparaît...

Merci
Moi j'ai une astuce. L'écriture se fait dans une table MyIsam en parallèle a celle qui est en HEAP mais la lecture se fait sur le HEAP. Si jamais la table est vide alors il y a une copie MyIsam => HEAP.
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...
berceker united est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/02/2008, 23h52   #190
paterson
Membre confirmé
 
Matthieu
Étudiant
Inscription : septembre 2004
Messages : 393
Détails du profil
Informations personnelles :
Nom : Matthieu
Âge : 26
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : septembre 2004
Messages : 393
Points : 295
Points : 295
Bonjour, je fait maintenant mes sites en utilisant pas mal les include ( je vais faire un petit exemple )

index.php

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
session_start();
include("conex.ini.php");// connecter a la base de donnée 
if(isset($_SESSION['id_client']))
      {
       //connect Ok 
 
//page demandé 
       switch($_GET['m'])
 {
         case '1':
         include("lien1.php")
         break;
....................
}
}
else
{
include("formulaire.php");
}
 
?>
Puis dans la page lien1.php

je ne me connecte pas a la base de donnée ( déjà fait ) et je ne vérifie rien, car si il vont sur la page , elle devrai générer que des erreurs .

Est se que j'ai raison de faire comme sa ? Ou , je devrai faire autrement , merci d'avance .
paterson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/02/2008, 14h19   #191
berceker united
Expert Confirmé
 
Avatar de berceker united
 
Développeur informatique
Inscription : février 2005
Messages : 3 030
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2005
Messages : 3 030
Points : 3 991
Points : 3 991
Apparemment, vous vérifier si id_client est déjà validé. Je suppose que cette information provient de la base de données. S'il y a un problème avec la base de données je pense pas que id_client soit renseigné. Mais il faut faire des test. initialiser la session à false.
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...
berceker united est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/02/2008, 15h18   #192
paterson
Membre confirmé
 
Matthieu
Étudiant
Inscription : septembre 2004
Messages : 393
Détails du profil
Informations personnelles :
Nom : Matthieu
Âge : 26
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : septembre 2004
Messages : 393
Points : 295
Points : 295
En fait , chaque client a un id_client , une fois qui sont connecter ils ont une valeur dans id_client , quand le client clique sur deconnecter , s'est simplement session_destroy() ;

j'ai déjà fait des test , sa ne pose pas de problème , sinon , ma question est surtout sur les include , je risque rien comme sa . J'ai pas envi de voir le site de l'assos étudiante avec des photos de Q en première page ... ( je bloque le login au bout de 5 essai , il faut ensuite valider le compte ... )

Voila , le site , http://etudiant.epid.fr/

Dans index.php , il a que un include pour le menu , et un pour la page ...
paterson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/02/2008, 09h09   #193
berceker united
Expert Confirmé
 
Avatar de berceker united
 
Développeur informatique
Inscription : février 2005
Messages : 3 030
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2005
Messages : 3 030
Points : 3 991
Points : 3 991
Citation:
Envoyé par paterson Voir le message
En fait , chaque client a un id_client , une fois qui sont connecter ils ont une valeur dans id_client , quand le client clique sur deconnecter , s'est simplement session_destroy() ;

j'ai déjà fait des test , sa ne pose pas de problème , sinon , ma question est surtout sur les include , je risque rien comme sa . J'ai pas envi de voir le site de l'assos étudiante avec des photos de Q en première page ... ( je bloque le login au bout de 5 essai , il faut ensuite valider le compte ... )

Voila , le site , http://etudiant.epid.fr/

Dans index.php , il a que un include pour le menu , et un pour la page ...
Je comprend votre inquiétude dans ce cas là, je vous conseille de lire le livre sur la sécurité de PHP et Mysql. Il y a de très bon conseille.
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...
berceker united est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2009, 02h04   #194
Sub0
Expert Confirmé
 
Avatar de Sub0
 
Homme
Développeur Web
Inscription : décembre 2002
Messages : 3 489
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 40

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : décembre 2002
Messages : 3 489
Points : 3 514
Points : 3 514
Envoyer un message via MSN à Sub0 Envoyer un message via Skype™ à Sub0
Meilleurs voeux !
Citation:
Envoyé par Sub0 Voir le message
En ce moment, je planche sur la réalisation d'un captcha illisible pour un ordinateur, qui n'utilise pas des caractères mais des images de divers objets aléatoires... Cette technique limite aussi les tentatives pour contrer les résolutions de captchas en grande série par des humains. J'ai aussi planché sur un cryptage des données postées sensibles avec Javascript... Et une technique pour vérifier l'authenticité du site afin de détecter si il s'agit d'une copie du site (vol de DNS)...
Si vous avez des suggestions, des idées pour la réalisation de ces fonctions de sécurité, je suis preneur.

Que pensez-vous de détecter le vol de DNS en surveillant la validité du nom de domaine avec un test WhoIs ou d'une requête HTTP codée. Ce script ne serait lancé qu'une seule fois. Il contiendrait une boucle pour répéter le test toutes les X secondes. En cas de piratage du DNS, un mail d'alerte serait envoyé à l'admin et l'accès aux comptes membres serait bloqué.
Sub0 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2009, 01h34   #195
Kioob
Membre chevronné
 
Avatar de Kioob
 
Olivier Bonvalet
Inscription : septembre 2004
Messages : 550
Détails du profil
Informations personnelles :
Nom : Olivier Bonvalet
Âge : 33
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : septembre 2004
Messages : 550
Points : 723
Points : 723
Envoyer un message via MSN à Kioob
Pour ma part j'éviterais de ré-inventer la roue.

Pour s'assurer que l'IP pointe bien sur le "bon" site, il y a les certificats SSL. C'est fait entre autre pour ça, et ça marche plutôt bien.

Surtout que le "piratage DNS" ne se fait pas forcément au niveau du registrar, et que tu ne peux pas tester les serveurs DNS de tous les FAI.
Kioob est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2009, 10h54   #196
Sub0
Expert Confirmé
 
Avatar de Sub0
 
Homme
Développeur Web
Inscription : décembre 2002
Messages : 3 489
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 40

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : décembre 2002
Messages : 3 489
Points : 3 514
Points : 3 514
Envoyer un message via MSN à Sub0 Envoyer un message via Skype™ à Sub0
bonjour.

J'ai trouvé cet article intéressant et instructif :
http://blog.developpez.com/adiguba?t..._et_vie_privee
Sub0 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/11/2009, 14h22   #197
jimmyneutron
Nouveau Membre du Club
 
Inscription : avril 2007
Messages : 64
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 64
Points : 26
Points : 26
Citation:
Envoyé par Sub0 Voir le message
Je cherche donc une solution, un système de ticket peut-être pour contrer une connection avec un ancien formulaire.
Citation:
Envoyé par berceker united Voir le message
En faite, il y a plusieurs idées qui peuvent être utilisées. Le but est d'utiliser celui qui le plus approprié sans gêner l'utilisateur.
Pour ma part j'utilise récemment dans mon formulaire des noms de champs dynamique avec la fonction sha1("nomduchamps" . time()).
Ainsi le formulaire est à chaque fois unique et le navigateur ne pourra l'auto-compléter.
Ensuite il suffit de faire passer les noms des champs dans la session pour les récupérer avec les POST du formulaire.
J'interviens peut-être tard, mais ça peut servir.
jimmyneutron est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 06h35.


 
 
 
 
Partenaires

Hébergement Web