Solution de LOGIN en PHP !?

Statut
N'est pas ouverte pour d'autres réponses.

_gilles

Elite
Bonjour,

Après avoir abandonné le refresh de la fenêtre applante d'une popup contenant le formulaire de login, j'essaye de me tourner vers d'autres solutions: mon but étant d'identifier un membre.

Rien de plus simple vous allez me dire... Sauf que la page d'accueil DOIT contenir une condition du style: "Si la session est enregistrée, afficher ceci. Sinon, afficher cela."

Code:
if (!isset($_SESSION['LOGIN_CLIENT']))
{
print("Bienvenue...");
}
else
{
print("Veuillez vous authentifier.");
}
Le problème est que la page d'accueil doit rester tel quel (pas question qu'elle disparaisse au profil d'un formulaire par exemple). Ma solution était de faire un lien vers une popup contenant le formulaire, mais il est impossible de rafraichir la page d'accueil et que celle-ci prenne en compte l'ouverture d'une session.

J'espère que vous comprenez car je suis vraiment bloqué dans mon site :cry:

Merci d'avoir pris le temps de me lire.
 

Jereck

Α & Ω
Staff
Sur M@tbe, pour les agrnadissement d'images, quand tu clique dessus, pour fermer la fenêtre, il y a ça comme lien :

javascript:window.opener.focus();window.close();

Tu ne peux pas faire un truc genre : javascript:window.opener.refresh(); :?:
 
1er
OP
_gilles

_gilles

Elite
Jereck a dit:
Sur M@tbe, pour les agrnadissement d'images, quand tu clique dessus, pour fermer la fenêtre, il y a ça comme lien :

javascript:window.opener.focus();window.close();

Tu ne peux pas faire un truc genre : javascript:window.opener.refresh(); :?:
J'ai déja essayé cette solution lors d'un précédent thread, mais ca foire au niveau PHP. En effet, les variables ne sont pas reprises lors de l'ouverture de la session. Je ne comprend vraiment pas...
 

Jereck

Α & Ω
Staff
Et que veux-tu dire par "Le problème est que la page d'accueil doit rester tel quel (pas question qu'elle disparaisse au profil d'un formulaire par exemple)."

Tu as un design à respecter ?
Tu pourrait peut-être mettre un DIV invisible apparaissant en "pseudo-popup" quand on clique sur le lien (cfr chez Computer-Supplies quand tu passes la souris sur l'icone du stock)
 
1er
OP
_gilles

_gilles

Elite
Jereck a dit:
Et que veux-tu dire par "Le problème est que la page d'accueil doit rester tel quel (pas question qu'elle disparaisse au profil d'un formulaire par exemple)."
http://daftdj.free.fr/_projet_01/

Je voudrais que le visiteur ne voit à aucun moment cette page disparaitre.

Si tu remarques le S'IDENTIFIER - S'ENREGISTRER, je voudrais qu'il disparaisse au profil de variables correspondant au login une fois l'utilisateur identifier.

Tu comprends ?
 
1er
OP
_gilles

_gilles

Elite
Jereck a dit:
Oui ...
Regarde le menu "Connexion" de ce site : http://www.codes-sources.com (c'est à ça que je pensait en parlant du DIV invisible)
Ha ouais... hé bien cela me semble être une très bonne solution dans la mesure où j'espère que ca fonctionne pour le PHP.

Merci beaucoup, je vais chercher des infos à propos des "DIV invisible", si jamais d'autres GamerZ ont d'autres idées, ne vous génez pas.

Un grand merci Jereck.
 
1er
OP
_gilles

_gilles

Elite
C'est encore moi...

J'ai réalisé le 'div invisible' mais le problème subsiste:

Comment faire disparaitre le formulaire au profil des informations du client une fois qu'il s'est loggé ?

Je désespère :-(
 

MbK_

Etudjant
Daftdj a dit:
C'est encore moi...

J'ai réalisé le 'div invisible' mais le problème subsiste:

Comment faire disparaitre le formulaire au profil des informations du client une fois qu'il s'est loggé ?

Je désespère :-(
Ca c'est pas très dur.

Tu fais une ptite condition du genre

if(isset($_SESSION['LOGIN_CLIENT'])){
Mettre le menu du membre inscrit (profil, etc)
}
else{
AFFICHER LE CHAMPS DE LOGIN
}
 
1er
OP
_gilles

_gilles

Elite
MbK_ a dit:
Ca c'est pas très dur.

Tu fais une ptite condition du genre

if(isset($_SESSION['LOGIN_CLIENT'])){
Mettre le menu du membre inscrit (profil, etc)
}
else{
AFFICHER LE CHAMPS DE LOGIN
}
Et bien j'étais bien distrait. J'avais la solution depuis le début (voir mon premier message) mais j'étais bloqué par le fait que l'index ne devait pas bouger.

Je vais donc faire ca tout de suite.

Merci de m'avoir réveillé MbK_ !
 

ZyPh0s

Touriste
Voilà t'as fait le plus facile, maintenant tu veux un bon casse tête, essaie de sécuriser ta session :D

Ne pas oublier lors de comparaison sur une DB, toujours faire un addslashes() sur login et mot de passe, ceci afin d'éviter les failles de type injection SQL.

Il y a plein de sujets qui en traitent sur le net.
 

Xou

I ♥ rien
ZyPh0s a dit:
Voilà t'as fait le plus facile, maintenant tu veux un bon casse tête, essaie de sécuriser ta session :D

Ne pas oublier lors de comparaison sur une DB, toujours faire un addslashes() sur login et mot de passe, ceci afin d'éviter les failles de type injection SQL.

Il y a plein de sujets qui en traitent sur le net.
Le addslashes() sur tout ce qui rentre dans les formulaires d'ailleurs !
 

MbK_

Etudjant
Xyo_ a dit:
ZyPh0s a dit:
Voilà t'as fait le plus facile, maintenant tu veux un bon casse tête, essaie de sécuriser ta session :D

Ne pas oublier lors de comparaison sur une DB, toujours faire un addslashes() sur login et mot de passe, ceci afin d'éviter les failles de type injection SQL.

Il y a plein de sujets qui en traitent sur le net.
Le addslashes() sur tout ce qui rentre dans les formulaires d'ailleurs !
et stripslashes() sur tout ce qui sort :)
 
Daftdj a dit:
...
Code:
if (!isset($_SESSION['LOGIN_CLIENT']))
{
print("Bienvenue...");
}
else
{
print("Veuillez vous authentifier.");
}
...
je crains que ta méthode d'itentification puisse marcher en local mais pas sur un serveur internet réel... En effet, les serveurs internet "réel" sont (souvent) configurés de manière a donner un login client different à chaque page. sauf si tu passes ce login en tant que variable mais c'est pas beau (et le visiteur ne sais pas donner de lien sur une page sans donner sa session (assez embêtant ca tant pour le copain qui ne sais pas conseiller des pages du site a son copain que pour toi qui n'aura pas beaucoup de "nouveau" visiteurs arrivés grace au bouche a oreille.

la seule methode valable que j'ai trouvé pour l'utilisation de sessions est l'utilisation des biscuits aux peptites de chocolat (cookies). C'est assez embêtant au debut, mais ensuite, tu trouveras cela hyper simple et puissant mais aussi très securiseable.
 

null

ose();
Je suis d'accord avec zywakx, de plus ce n'est pas très sécurisant.

Ce qu'il faut faire :

Une session qui génère une chaîne (on va la nommer "salt"). Le formulaire a un champ caché avec la valeur de "salt" et une champ login et mot de passe où le mot de passe est crypté en MD5 via JavaScript pour que si quelqu'un sniffe le réseau, il ne puisse pas voir le mot de passe.

Du côté serveur, on prend le salt de la session et on compare avec le champ caché. Ensuite on prend le login et le mot de passe crypté que l'on compare, ...

C'est pas tout à fait sécurisé encore, pour bien faire, on devrait faire un concacténation de "salt" et du mot de passe crypté mais bon :D
 

Xou

I ♥ rien
Attention que le md5 est "décryptable".

Y'a des programmes qui tournent et qui sont assez rapides pour faire des comparaisons de caractères dits cryptés.
 
1er
OP
_gilles

_gilles

Elite
J'ai testé le site sur free.fr (hebergeur temporaire en attendant OVH où un autre...) et cela fonctionne convenablement, mais je prend note.

Merci ;)
 
Xyo_ a dit:
Attention que le md5 est "décryptable".

Y'a des programmes qui tournent et qui sont assez rapides pour faire des comparaisons de caractères dits cryptés.
il suffit de bien savoir utiliser le md5 pour pouvoir berner tous les utilisateurs de ce genre de logiciel de décryptage genre un md5('a'.$motdepasse) ou un truc plus complexe encore.

Ce genre de logiciel se base plus sur des combinaisons connues et simples. Il ne s'agit que de tables de comparaisons tel code vers tel mot de passe mais en concatenant les chaines avant md5, tu casses leur systeme car ils ne savent pas decouvrir Le bon mot de passe s'il est assez complexe. Pour reprendre l'exemple plus haut,
si $motdepasse=motdepasse, md5('amotdepasse') donne une chaine de caractères qui decryptée donnera un mot de passe du type L1oM5Ht , rien a voir avec le bon mot de passe car si tu rentre cette solution dans la variable $motdepasse, md5('a'.$motdepasse) donnera autre chose. Tu as donc réussi la securisation du mot de passe.

reste à sécuriser tout autant le reste du site :D
 
1er
OP
_gilles

_gilles

Elite
He bien, c'est du chinois pour moi tout ca. Vous n'avez pas un ou deux sites de sécurité PHP qui me permettrait de me rassurer avant de mettre mon premier 'gros' site en ligne ?
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut