probleme de login

Ai o întrebare legată de PHP? Incercăm să îi găsim soluţie. Sau poate doar vrei să publici un cod interesant.

Moderatori: Zamolxe, Moderatori

shakabut
PHPRomania Supporter
Mesaje: 7
Membru din: Vin Feb 17, 2006 3:52 pm
Localitate: Pitesti
Contact:

probleme de login

Mesajde shakabut » Vin Feb 17, 2006 4:13 pm

Am 3 site-uri care au un fel admin panel. Toate au acelasi tip de login: userul se logheaza, intra in admin panel.
Pe login se seteaza sesiunile: $_SESSION['session_id'], $_SESSION['user'], $_SESSION['password']

In fiecare pagina din admin panel se include un fisier auth.php, care arata asa:
[php]<?php
//verific daca sesiunea e cea corecta;
session_start();
if ($_SESSION['session_id']!=session_id())
{
header("location:index.php?msg_nr=3");
exit;
}
//verific daca datele userului din sesiune coincid cu cele din baza de date.
$sql="SELECT * FROM users WHERE username='".$_SESSION['user']."' AND password='".$_SESSION['password']."'";
$rezultat=mysql_query($sql);
if(mysql_num_rows($rezultat)!=1)
{
header("location:index.php?msg_nr=3");
exit;
}
?>[/php]

Dupa cum oricine poate sa inteleaga, daca cineva nu s-a logat, si incerca sa acceseze o pagina "protejata" il arunc in formularul de login. Asta face pe absolut toate serverele testate, in afara de serverul de host al clientului (Windows: IIS+php+MySQL). Am incercat sa vad ce se intampla: serverul de hosting seteaza aiurea sesiunile. Ce inteleg prin seteaza aiurea sesiunile: La intervale diferite, daca fac print_r($_SESSION), in 60% din cazuri, nu e nimic in sesiuni, in 40% din cazuri, e continutul care ar trebui sa fie.
Ca sa fie treab treaba, pe 2 din site-uri nu merge, si pe unul merge.

A mai dat careva de asa ceva? Alta solutie decat sa tin totul pe cookie (ceea ce nu mi se pare ok), sau sa schimb hostul (ceea ce nu i se pare ok clientului) stiti?

Daca e nevoie de detalii, pot sa furnizez.



Pirahna
Senior Member
Mesaje: 5985
Membru din: Dum Aug 22, 2004 2:04 am
Localitate: la birou
Contact:

Mesajde Pirahna » Vin Feb 17, 2006 4:47 pm

pai ... daca faci validarea "admin" selectand din baza de data user id-ul si verificand daca este admin , atunci poti face cu cookies linistit ...

nu cred ca sunt multi maniaci care sa se oboseasca sa intre in temp-ul lor si sa verifice cookie-urile , si daca le modifica oricum nu intra pe contul de admin ...

citeste si pagina de
unde mi se pare ca au zis ceva de iis si sesiuni :roll:
|

shakabut
PHPRomania Supporter
Mesaje: 7
Membru din: Vin Feb 17, 2006 3:52 pm
Localitate: Pitesti
Contact:

Mesajde shakabut » Vin Feb 17, 2006 5:34 pm

As prefera sa nu folosesc cookies.
Intr-adevar link-ul dat de tine, ajuta un pic.

Din neglijenta, nu am folosit session_write_close() sa inchid sesiunile, dupa ce le foloseam. Acum intra la al doilea login. God, IIS+PHP can be a lot of trouble...

Avatar utilizator
copot
Senior Member
Mesaje: 233
Membru din: Mie Apr 06, 2005 2:22 pm
Localitate: Undeva departe
Contact:

de ce ?

Mesajde copot » Vin Feb 17, 2006 6:32 pm

De ce salvezi si parola ? :?:

later: mda..... am vazut.... oricum, nu e prea sanatos.
The Power of Christ Compels You.

shakabut
PHPRomania Supporter
Mesaje: 7
Membru din: Vin Feb 17, 2006 3:52 pm
Localitate: Pitesti
Contact:

Mesajde shakabut » Vin Feb 17, 2006 6:43 pm

Nu e prea sanatos, dar e criptata cu MD5 si se tine numai pe sesiune si numai criptata. Nu prea vad cum ar putea cineva sa mi-o shmenareasca


Înapoi la “Cod PHP”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Google Adsense [Bot] și 18 vizitatori