Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 30/09/2006, à 11:09

gene69

PHP - identifier les visiteurs connectés

Bonjour,
J'aimerai reserver l'acces de certaines pages du sites aux visiteurs identifés. Je ne sais pas comment faire. J'utilise PHP et il me semble que l'application doit utiliser des sessions mais je ne comprend pas :
- le fonctionnement des sessions (comment on fait pour savoir si une session est démarrée ou pas...)?
- comment faire le lien entre les utilisateurs défini dans la base de données et la session sus-crée?

Merci


Quand le berger est lâche, le loup chie de la laine.
A (draft) guide to UFO Alien-Invasion

Hors ligne

#2 Le 30/09/2006, à 11:55

Bzh

Re : PHP - identifier les visiteurs connectés

Pour utiliser les sessions, tu dois mettre, au début de chaque page AVANT la fin des envoies des en-tête, en gros avant que tu envois de l'html, tu dois mettre :

session_start();

Ensuite, tu enregistres dans une variable de sessions, l'id de tes membres:

$_SESSION['id_membre'] = $id;

Voili...

Hors ligne

#3 Le 30/09/2006, à 12:24

BlueTak

Re : PHP - identifier les visiteurs connectés

Ne faut-il pas pas créer un fichier .htaccess ?

Hors ligne

#4 Le 30/09/2006, à 13:00

lunique

Re : PHP - identifier les visiteurs connectés

A premiere vue, tu pourrai aller voir du coté de phpBB comment sa gere l'identification ^ ^

Hors ligne

#5 Le 30/09/2006, à 15:47

Bzh

Re : PHP - identifier les visiteurs connectés

Pffff ! arrêté de parler de phpbb !

Et puis de toutes façon, tu ne vas rien y comprendre ! Et il est bien évident qu'ils utilisent une variable de session !

C'est évident !

Hors ligne

#6 Le 30/09/2006, à 18:38

lunique

Re : PHP - identifier les visiteurs connectés

Bah, je parlais de phpBB car sa permet de voir directement comment sa fonctionne,  par exemple, dans le login.php, on voit comment il fait la liaison entre la session et les infos.
De plus, sa permet de copier-coller massivement les morceau qui l'interesse pour la gestion des erreurs...

Et je regrette mais a partir du moment ou tu comprend php et que tu as un minimum d'habitude, c'est parfaitement relisible (mis a part le fait que certaine lignes fassent un sacré nombre de caractere.

Hors ligne

#7 Le 30/09/2006, à 22:35

Crashforburn

Re : PHP - identifier les visiteurs connectés

lunique a écrit :

De plus, sa permet de copier-coller massivement les morceau qui l'interesse pour la gestion des erreurs...

Oui, c'est sur, le libre autorise le pillage de source, mais il faut en abuser avec parcimonie...ça sert a rien de recopire tout le pataquès si la moitié bugue (et surtout, tu mettras peut-etre plus de temps a trier ce qu'il faut que de coder toi-même ^^)


Un blog inutile de plus : http://crashforburn.free.fr/dotclear/
[Membre du club des beaux Ubunteros] : http://forum.ubuntu-fr.org/viewtopic.php?pid=535299
Contre la nouvelle année, votons fonacon : http://www.fonacon.net/

Hors ligne

#8 Le 30/09/2006, à 23:39

lunique

Re : PHP - identifier les visiteurs connectés

On ne peut se permettre de copier que du code qu'on comprend parfaitement, sinon, en effet, on as un probleme de deboggage apres.

Hors ligne

#9 Le 01/10/2006, à 20:01

tiky

Re : PHP - identifier les visiteurs connectés

De plus, sa permet de copier-coller massivement les morceau qui l'interesse pour la gestion des erreurs...

Et comme ça tu seras jamais coder correctement en PHP hmm


Conseil d'expert: il vous faut un dentifrice adapté...

Hors ligne

#10 Le 01/10/2006, à 22:39

Bzh

Re : PHP - identifier les visiteurs connectés

Ecoute, ce n'est pa compliqué de faire un tit formulaire avec un mot de passe !

<?php

//On démarre les sessions, a mettre dans toutes les pages
session_start();

if( ! empty( $_POST['password'] ) and $_POST['password']=='secret' ){

          //Le formulaire est validé et le mot de passe est correcte
          $_SESSION['identifie'] = true;

}

if( ! isset( $_SESSION['identifie'] ) ){

//Il n'est pas identifié donc on lui affiche le formulaire

?>
<form id="form1" name="form_1" method="post" action="">
            <div><input type="password" name="password" /></div>
            <div><input type="submit"  /></div>
</form>

<?php

}else{

//Il est identifié


}

?>

Voila, pas testé, c'est du codage en live...

Hors ligne

#11 Le 01/10/2006, à 22:53

lunique

Re : PHP - identifier les visiteurs connectés

Et comme ça tu seras jamais coder correctement en PHP hmm

Combien de programmeur utilise la Glib alors qu'ils savent coder correctement en C?

Sinon, pour ma part, jai appris à faire du php et du mysql avec "pratique de Mysql et PHP" de philippe rigaux ; ben pendant tres longtemps, toutes mes fonctions de bases etait les memes que celle dans le livres (aux messages d'erreur pres, j'iame bien me les personnaliser  ^ ^) et je ne pense pas que sa m'ait empeché d'apprendre à programmer correctement en php.

Donc là gene69 va avoir un bout de code, dont il sait qu'il est là pour verifier l'authentification et tout ce qui va avec. Il va pouvoir le lire, le relire, le re-relire encore et encore, jusqu'a bien comprendre ce que fait chaque petit bout de code. Et une fois qu'il aura bien compris à quoi sert chaque virgule, vous lui conseillez de tout ré-ecrire lui même pour le plaisir de l'écrire lui même ?

C'est comme utiliser un OS. On peut faire betement comme c'est ecrit de faire dans le tuto, et on peut aussi faire betement ce qui est ecrit de faire dans le tuto, et à coté de sa, en profiter pour comprendre ce qu'on a recopié dans sa console (si je suis pas assez clair, c'est la difference entre celui qui sur un "sudo apt-get update && sudo apt-get upgrade" ne saura rien d'autre que sa sert a mettre à jour, et l'autre qui saura expliquer le sudo, le &&, le update etc.)

Hors ligne

#12 Le 02/10/2006, à 00:57

gene69

Re : PHP - identifier les visiteurs connectés

Merci lunique de te soucier de moi. J'avais presque oublié ce topic en pensant à mon probleme de conception de bd. (C'est dingue cet afflu soudain

Pour ce qui est de phpbb, vous allez rire , j'ai essayé mais j'ai vite laisser tombé, j'aurai peut être du essayer la source de dotclear... Dans l'exemple que  donne BHZ (c'est breton?) j'ai bien compris que c'est un truc comme ça qu'il faut faire. Mais ce que je me demande c'est comment garentir que les mots de passes ne transitent pas en clair?

Est ce qu'il suffit que sur la page d'accueil lorsqu'on vient d'envoyer ses id de vérifier si le nom et le pswd correspondent? Est ce que ça veut dire que je dois stocker le nom de la personne connectée dans le cookie de session pour identifier la personne.

Vous aurez sans doute compris qu'il s'agit de mettre une porte devant l'interface qui va gérer l'application qui va remuer la base de donnée. (heureusement les formulaires seront assez simples)

Personnellement j'aime bien réécrire le code moi même. Parce que de toute façon lorsque je commence par un CC je commence par enlever des lignes pour comprendre. Et seulement ensuite je regave avec les fonctionnalités qui m'interessent.


Quand le berger est lâche, le loup chie de la laine.
A (draft) guide to UFO Alien-Invasion

Hors ligne

#13 Le 02/10/2006, à 16:00

tiky

Re : PHP - identifier les visiteurs connectés

Combien de programmeur utilise la Glib alors qu'ils savent coder correctement en C?

Apprendre à utiliser une bibliothèque et un langage c'est pas là même chose hmm
Il est évident de savoir coder en C avant d'utiliser la Glib tandis que l'on peut ne pas savoir utiliser les sessions parceque l'on reprendre toujours le même code...

Sinon ta technique d'apprentissage marche peut-être avec toi mais c'est pas forcement le cas pour tous le monde.


Conseil d'expert: il vous faut un dentifrice adapté...

Hors ligne

#14 Le 02/10/2006, à 18:09

Bzh

Re : PHP - identifier les visiteurs connectés

Oui, c'est breton wink

Hors ligne

#15 Le 02/10/2006, à 22:25

imotep

Re : PHP - identifier les visiteurs connectés

une questions permettrait d'orienter nos réponses, face à ton problème.
Le nombre de membre sera t'il fixe ou bien dynamique ?
Le nombre de membre est il consequent ou limité ?

si, le principe est de permettre à 5-10 personnes choisies par tes soins, de pouvoir se loguer sur certaines pages, la combinaison htaccess + htpasswd est pas mal.
a contrario en php sans htaccess c'est aussi possible.

Maintenant si ce que tu veux faire c'est proposer un système d'abonnement via formulaire, un registrar, alors on ne peut prévoir le nombre de membre qui sera dynamique.
Dans ces cas là, le système d'adhésion des forums est pas mal.
il faut utiliser une base de donnée, qui contient le login + passe crypté en md5 ou autre cryptage.
ensuite tu vérifie si le login entré existe, et si oui tu vérifié le mot de passe entré.

la session permet ensuite de laisser la connexion persistante pour le membre, à l'aide de cookies

Dernière modification par imotep (Le 02/10/2006, à 22:25)

Hors ligne

#16 Le 03/10/2006, à 00:21

gene69

Re : PHP - identifier les visiteurs connectés

>IMOTEP

pour .htaccess j'ai pas envie de me plonger dedans. J'ai pas mal de boulot vu que je fait un peu de tout sur ce projet en se moment.

Je pensais faire un "registrar" avec un login + password, mais là encore quelle est la technique pour assurer un minimum de sécurité? ensuite cette identification valide ou non une session puis apres basta. J'ai envie de n'avoir qu'un ou deux profiles pour acceder à cette partie du site. Est ce que ça sera suffisant en terme de sécurité (sachant que c'est une catastrophe si la base de donnée est qui est derrière se fait **** cen'est pas mortel mais presque).


Quand le berger est lâche, le loup chie de la laine.
A (draft) guide to UFO Alien-Invasion

Hors ligne

#17 Le 03/10/2006, à 12:37

imotep

Re : PHP - identifier les visiteurs connectés

tu veux donc proposer un système d'adhésion en ligne, pour qui veut accéder aux pages limitées ?

la meilleur façon, pour garder une sécurité, et de vérifier et de formater les variables que peuvent transmettre les futurs abonnés.

tu crées un formulaire basique pour essayer avec 1 champ pour rentrer le login et un autre pour entrer le passe, et un autre pour entrer l'email.
il s'agira du formulaire d'inscription.

dans l'attribut action du tag <form> tu mettras une redirection vers une page de traitement des données, on pourra dire par exemple registrer.php
sur cette page tu recupperes toutes les données entrées par l'utilisateur avec $_POST['name']
tu vérifies quand même tes variables avec les fonctions htmlentities et addslash
tu peux aussi limiter le nombre de caractères dans les champs de ton formulaire avec size et maxlenght.

avant enregistration, on preferera quand même vérifié si le login n'existe déjà pas, et si l'email n'a pas été déjà utilisée.
auquel cas on affiche un messaeg d'erreur.
sinon, on crée notre table membre sur notre base de donnée mysql, ou postgresql.

la sécurité passe par bien vérifier l'état de ce qu'on va enregistrer et transmettre, sur le serveur, bien aussi formater ses erreurs, avec eventuelement utiliser des classe d'erreurs ...

enfin déjà , la première des choses, serait de se lancer sur un exemple tout simple et bête pour comprendre le système, ensuite on pourra l'amélioré afin de pouvoir le sécuriser un max.

par contre concernant htaccess, c'est vraiment super simple, et si tu veux limiter une certaine partie de ton site à un nombre limité, alros çà sera beaucoup plus simple.
et question sécurité c'est aussi le top

Hors ligne

#18 Le 05/10/2006, à 23:17

gene69

Re : PHP - identifier les visiteurs connectés

j'ai pas du être tres clair, je connais déjà le nombre de personnes interessées par l'application qui est exactement 2. 30 si j'arrive à obtenir/simuler deux profils différents.
Pourquoi parce que c'est pour rendre privée une bdd de compta et que ya que deux personnes qui travailleront dessus.


Quand le berger est lâche, le loup chie de la laine.
A (draft) guide to UFO Alien-Invasion

Hors ligne

#19 Le 06/10/2006, à 14:36

Bzh

Re : PHP - identifier les visiteurs connectés

PU*** !!!!!! yikes

Mais arrêté avec cette conn*** de crypter ou de hacher le mot de passe dans la base, vous pouvez me dire l'avantage ????

Si c'est pour ne pas se faire voler les pass, bin ça sert à rien ! Si le md5 du pass apparait en clair dans le site C'EST UNE FAILLE ! En aucun cas le mot de passe doit sortir du serveur (seulement entrer lors de la connexion pour le vérifier).

Ensuite, si un mec chope le mot de passe pour se connecter a ta base de donnée, il pourra en effet piquer les pass de tes membres ? Mais tu peux me dire qu'elle est l'intéret de piquer les pass lorsque ta accès à la base de donnée COMPLETE ?????

Pffffff.... Suivez pas les conseils à deux balles de phpBB !!! Par pitié...

Voila, mon tit cou de gue*** de la journée....

ps:désolé d'être désagréable, mais cela commence à faire pas mal d'années que j'entends ça, et à chaque fois, ça me fait aussi mal....

Hors ligne

#20 Le 06/10/2006, à 15:03

bergi

Re : PHP - identifier les visiteurs connectés

qu'elle est l'intéret de piquer les pass lorsque ta accès à la base de donnée COMPLETE ?????

Se faire passer pour quelqu'un d'autre ?

Hors ligne

#21 Le 06/10/2006, à 17:13

gene69

Re : PHP - identifier les visiteurs connectés

l'interet de cripter les mots de passe sur la bdd c'est

1) d'empecher l'administrateur d'utiliser ton compte de façon simple.
2) de pas être ***. Il y a des protocles d'échange de clefs de criptage qui permettent de ne jamais faire circuler le mdp en clair parce que ya un toujours un rique. Pourquoi s'en priver.
J'ai une question: Par qui est encodé le mot de passe? le serveur ? le client? les deux? Tu vois la différence entre les trois possibilités?


Quand le berger est lâche, le loup chie de la laine.
A (draft) guide to UFO Alien-Invasion

Hors ligne

#22 Le 07/10/2006, à 13:17

tenshu

Re : PHP - identifier les visiteurs connectés

lunique a écrit :

Et comme ça tu seras jamais coder correctement en PHP hmm

Combien de programmeur utilise la Glib alors qu'ils savent coder correctement en C?

Sinon, pour ma part, jai appris à faire du php et du mysql avec "pratique de Mysql et PHP" de philippe rigaux ; ben pendant tres longtemps, toutes mes fonctions de bases etait les memes que celle dans le livres (aux messages d'erreur pres, j'iame bien me les personnaliser  ^ ^) et je ne pense pas que sa m'ait empeché d'apprendre à programmer correctement en php.

je plussoie ce bouquin aux Éditions O'Reilly est un bijoux.
J'ai la toute première édition (oui sans les variables globales tongue )  et je m'y réfère toujours.

De toute facon les bouquins de chez O'Reilly sont toujours bons alors ...

Dernière modification par tenshu (Le 07/10/2006, à 13:18)

Hors ligne

#23 Le 07/10/2006, à 13:19

tenshu

Re : PHP - identifier les visiteurs connectés

Désolé mon message est dédoublé pour une raison obscure :-/
(si je modifie l'un cela modifie l'autre)

EDIT : admiiiinnnnnnnnnn, le forum déconne la tongue

Dernière modification par tenshu (Le 07/10/2006, à 13:19)

Hors ligne