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

 


Dernière réponse
Sujet : session en php3 ?
stef_dobermann 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! :)

 


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
stef_dobermann 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! :)

 

omega2

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?

omega2

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).

omega2

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.

kadreg 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 :)
PinG

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!

 

Roswell_ tient bah c'est exactement ce que je fais pour mon site sauf que c'est pas l'ip qui me sert d'identifiant.
omega2 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.
Roswell_ Sinon tu fais tout a la main avec des cookies mais on l'a déja dit je crois.
stb 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.
kadreg 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.
shinji Tu peux préciser?
termostat 3, c'est évident!!!
 
z'êtes pas bien fort!!!!
nonolemono tu peux préciser stp ...
nonolemono Caché pour les utilisateurs du site.
kadreg 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--

nonolemono 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 ?

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)