Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
481 connectés 

  FORUM HardWare.fr
  Programmation

  session en php3 ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

session en php3 ?

n°10669
nonolemono
MD Rulezzzz
Posté le 22-01-2001 à 15:07:17  profilanswer
 

peut-on faire des sessions en php3 ?
sinon, comment faire pour garder cachés un mot de passe et un login dans différentes pages ?

mood
Publicité
Posté le 22-01-2001 à 15:07:17  profilanswer
 

n°10674
kadreg
profil: Utilisateur
Posté le 22-01-2001 à 15:22:34  profilanswer
 

Sessions> pas directement, mais sur www.phpinfo.net , ya une bibliothèque qui permet de gérer cela simplement.
 
Login et mot de passes> En cookies, dans la sessions ci-dessus, ?
la question est : caché pour qui ?

 


--Message édité par kadreg--

n°10676
nonolemono
MD Rulezzzz
Posté le 22-01-2001 à 15:25:29  profilanswer
 

Caché pour les utilisateurs du site.

n°10678
nonolemono
MD Rulezzzz
Posté le 22-01-2001 à 15:26:45  profilanswer
 

tu peux préciser stp ...

n°10679
shinji
Posté le 22-01-2001 à 15:29:21  profilanswer
 

Tu peux préciser?
termostat 3, c'est évident!!!
 
z'êtes pas bien fort!!!!

n°10683
kadreg
profil: Utilisateur
Posté le 22-01-2001 à 15:43:49  profilanswer
 

shinji> position grill, plutot, j'aime bien quand ça croustille
 
nonolemono> Donc, tu voudrais cacher aux utilisateurs du site les logins et mots de passes qu'ils ont tapé pour ouvrir la session, c'est ça ? Dans ce cas, avec la bibliothèque de gestion de session, tu doit pouvoir coller ça dans les paramètres de la session (en tout cas, c'est comme ça que je faisait avec weblogic).
 
Sinon, les cookies, ça marche pô mal.

n°10688
stb
Posté le 22-01-2001 à 16:04:24  profilanswer
 

Manuel PHPss
 
 
Chapitre 17. Authentification HTTP avec PHP
Les fonctions d'authentification HTTP de PHP ne sont disponibles que si PHP est exécuté comme module Apache, et non pas sous la forme d'un CGI. Sous cette forme, il est possible d'utiliser la fonction header() pour demander une authentification ("Authentication Required" ) au client, générant ainsi l'apparition d'une fenêtre de demande d'utilisateur et de mot de passe. Une fois que les champs ont été remplis, l'URL sera de nouveau appelée, avec les variables $PHP_AUTH_USER, $PHP_AUTH_PW et $PHP_AUTH_TYPE contenant respectivement le nom d'utilisateur, le mot de passe et le type d'authentification. Actuellement, seule l'authentification simple ("Basic" ) est supportée. Reportez vous à la fonction header() pour plus d'informations.ss
 
Voici un exemple de script qui force l'authentification du client pour accéder à une page : Exemple 17-1. Exemple d'authentication HTTP
 
<?php
ssif(!isset($PHP_AUTH_USER)) {
ssssHeader("WWW-Authenticate: Basic realm="My Realm"" );
ssssHeader("HTTP/1.0 401 Unauthorized" );
ssssecho "Texte à envoyer si le client appuie sur le bouton d'annulation
";
ssssexit;
ss} else {
ssssecho "Bonjour $PHP_AUTH_USER.<P>"
ssssecho "Vous avez entré le mot de passe $PHP_AUTH_PW.<P>"
ss}
?>
ssss
ss
ss
 
 
Au lieu d'afficher simplement les variables globales $PHP_AUTH_USER et $PHP_AUTH_PW, vous préférerez sÛrement vérifier la validité du nom d'utilisateur et du mot de passe. Par exemple, en envoyant ces informations à une base de données, ou en recherchant dans un fichier dbm.ss
 
Méfiez vous des navigateurs buggés, tels que Internet Explorer. Ils semblent très suceptibles concernant l'ordre des entêtes. Envoyer l'entête d'authentification (WWW-Authenticate) avant le code de HTTP/1.0 401 semble lui convenir jusqu'à présent.ss
 
Pour éviter que quelqu'un écrive un script qui révèle les mots de passe d'une page, à la quelle on a accédé par une authentification traditionnelle, les variables globales PHP_AUTH ne seront pas assignées si l'authentification externe a été activée pour cette page. Dans ce cas, la variable $REMOTE_USER peut être utilisée pour identifier l'utilisateur à l'extérieur.ss
 
Notez cependant que les manipulations ci-dessus n'empêchent pas quiconque qui possède une page non authentifiée de voler les mots de passes des pages protégées, sur le même serveur.ss
 
Netscape et Internet Explorer effaceront le cache d'authentification client si ils recoivent une réponse 401. Cela permet de déconnecter un utilisateur, pour le forcer à ré-entrer son nom de compte et son mot de passe. Certains programmeurs l'utilisent pour donner un délai d'éxpiration, ou alors, fournissent un bouton de déconnexion.ss
 
Exemple 17-2. Authentification HTTP avec nom d'utilisateur/mot de passe forcéss
 
<?php
ssfunctionssauthenticate() {
ssssHeader( "WWW-authenticate:ssbasicssrealm='TestssAuthenticationssSystem'" );
ssssHeader( "HTTP/1.0ss401ssUnauthorized" );
ssssechoss"Vous devez entrer un nom d'utilisateur valide et un mot de passe correct pour accéder à cette ressource
";
ssssexit;
ss}
ssif(!isset($PHP_AUTH_USER)ss||ss($SeenBefore ==ss1ss&&ss!strcmp($OldAuth,ss$PHP_AUTH_USER))ss)ss{
ssssauthenticate();
ss}
sselsess{
ssssechoss"Bienvenuess$PHP_AUTH_USER<BR>";
ssssechoss"Old:ss$OldAuth";
ssssechoss"<FORMssACTION="$PHP_SELF"ssMETHOD=POST>
";
ssssechoss"<INPUTssTYPE=HIDDENssNAME="SeenBefore"ssVALUE="1">
";
ssssechoss"<INPUTssTYPE=HIDDENssNAME="OldAuth"ssVALUE="$PHP_AUTH_USER">
";
ssssechoss"<INPUTssTYPE=SubmitssVALUE="RessAuthenticate">
"
ssssechoss"</FORM>
";
}
?>
ssss
ss
ss
 
Ce comportement n'est pas nécessaire par le standard d'authentification HTTP Basic. Les tests avec Lynx ont montré qu'il n'affectait pas les informations de session lors de la réception d'un message de type 401, ce qui fait que passer ces informations entre le serveur et le client, et donnera l'accès à la ressource.ss
 
Notez aussi que tout ceci ne fonctionne pas sous Microsoft IIS et que les limitations de PHP en version CGI sont dues aux limitations de IIS.

n°10695
Roswell_
Posté le 22-01-2001 à 16:39:25  profilanswer
 

Sinon tu fais tout a la main avec des cookies mais on l'a déja dit je crois.

n°10701
omega2
Posté le 22-01-2001 à 17:15:56  profilanswer
 

Autre solution. PHP3 + une base de données (ou un fichier). Dans la BD (ou le fichier) tu stockes les informations des cessions (n° de cession, nom d'utilisateur et IP + d'autres infos que tu pense nécessaire). L'IP sert à éviter que quelqu'un d'autre prenne la place d'un utilisateur.
De cette manière, tu cré une cession si le couple mot_de_passe/nom_d'utilisateur est bon et ensuite, ton utilisateur ne fait plus que ce balader avec son numéro de cession.

n°10717
Roswell_
Posté le 22-01-2001 à 18:31:58  profilanswer
 

tient bah c'est exactement ce que je fais pour mon site sauf que c'est pas l'ip qui me sert d'identifiant.

mood
Publicité
Posté le 22-01-2001 à 18:31:58  profilanswer
 

n°10808
PinG
Rooteur
Posté le 23-01-2001 à 11:49:58  profilanswer
 

omega2 a écrit a écrit :

Autre solution. PHP3 + une base de données (ou un fichier). Dans la BD (ou le fichier) tu stockes les informations des cessions (n° de cession, nom d'utilisateur et IP + d'autres infos que tu pense nécessaire). L'IP sert à éviter que quelqu'un d'autre prenne la place d'un utilisateur.
De cette manière, tu cré une cession si le couple mot_de_passe/nom_d'utilisateur est bon et ensuite, ton utilisateur ne fait plus que ce balader avec son numéro de cession.

 




en plus de l'IP, tu peut rajouter des trucs genre le navigateur exact (os + version + ...) parceque deux pc derième une gateway ont l'ip de la gateway à tes yeux!

 

n°10809
kadreg
profil: Utilisateur
Posté le 23-01-2001 à 12:20:37  profilanswer
 

Seul un numero de cession unique généré par le serveur peut donner quelque chose de réellement unique et donc utilisable pour identifier un utilisateur tout au long d'une session. Parceque sinon, c'est comme ça que je me suis retrouvé administrateur sur un site :)

n°10812
omega2
Posté le 23-01-2001 à 13:04:01  profilanswer
 

kadreg a écrit a écrit :

Seul un numero de cession unique généré par le serveur peut donner quelque chose de réellement unique et donc utilisable pour identifier un utilisateur tout au long d'une session. Parceque sinon, c'est comme ça que je me suis retrouvé administrateur sur un site :)

 





Oui mais si tu les créé de manière incrémentale et que tu n'utilises pas d'autre infos par sécurité, n'importe qui peu sauter d'un compte à l'autre rien qu'en changeant son numéros de session.

n°10813
omega2
Posté le 23-01-2001 à 13:06:43  profilanswer
 

PinG a écrit a écrit :

en plus de l'IP, tu peut rajouter des trucs genre le navigateur exact (os + version + ...) parceque deux pc derième une gateway ont l'ip de la gateway à tes yeux!
 
 

 





Mais en général, derrière un "gateway" d'entreprise, on trouve plusieurs ordi avec le même navigateur (os, navigateur+ version du navigateur).

n°10835
omega2
Posté le 23-01-2001 à 14:21:27  profilanswer
 

Roswell_ a écrit a écrit :

tient bah c'est exactement ce que je fais pour mon site sauf que c'est pas l'ip qui me sert d'identifiant.

 





Si c'est pas "TOP SECRET", t'utilise quoi comme identifiant?

n°10971
stef_dober​mann
Personne n'est parfait ...
Posté le 24-01-2001 à 01:06:21  profilanswer
 

j'ai pas tous lu, mais en utilisant un formulaire avec une method='post', l'utilisateur ne le vois pas (sauf s'il regarde la source) et c très simple à utiliser par rapport aux cookies car si l'internaute refuse ton cookie ....... t mort! :)

 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  session en php3 ?

 

Sujets relatifs
Plus de sujets relatifs à : session en php3 ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR