[PHP] cookie login en subdomeinen..

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Bender
  • Registratie: Augustus 2000
  • Laatst online: 16-09 09:15
Ik heb een website die veel gerbuikt maakt van subdomeinen,
op de website kun je inloggen e zo een aantal dingen doen..

Maar ik het probleem is dat je als ik met cookies werk, tot nu toe op ieder subdomein apart moet inloggen (en ook uitloggen dus!!).
Om een login aan IP te hangen kan als optie, maar niet als veresit want dan kun je op school niet inloggen zonder dat iemand naders erbij kan..

Ik wil het eigenlijk dus met cookies doen, maar het lukt niet eht om het goed te krijgen..

Het domein in een cookie zetten word volgens mij door MSIE6 niet goedgekeurd al veilig, en werkt dus niet helemaal (alhoewel ik niet volg wanneer wel en wanneer niet).

Weet iemand misschien hoe ik dit op kan lossen (met PHP dus)?

Acties:
  • 0 Henk 'm!

  • sdomburg
  • Registratie: Augustus 2001
  • Laatst online: 03-09-2024
Triloxigen schreef op 25 februari 2003 @ 23:38:
Ik heb een website die veel gerbuikt maakt van subdomeinen,
op de website kun je inloggen e zo een aantal dingen doen..

Maar ik het probleem is dat je als ik met cookies werk, tot nu toe op ieder subdomein apart moet inloggen (en ook uitloggen dus!!).
Om een login aan IP te hangen kan als optie, maar niet als veresit want dan kun je op school niet inloggen zonder dat iemand naders erbij kan..

Ik wil het eigenlijk dus met cookies doen, maar het lukt niet eht om het goed te krijgen..

Het domein in een cookie zetten word volgens mij door MSIE6 niet goedgekeurd al veilig, en werkt dus niet helemaal (alhoewel ik niet volg wanneer wel en wanneer niet).

Weet iemand misschien hoe ik dit op kan lossen (met PHP dus)?
Sessies is de magic word :)

http://robouk.mchost.com/tuts/tutorial.php?tutorial=login

[ Voor 4% gewijzigd door sdomburg op 25-02-2003 23:41 ]


Acties:
  • 0 Henk 'm!

  • Bender
  • Registratie: Augustus 2000
  • Laatst online: 16-09 09:15
Dat werkt toch niet met meerdere subdomeinen?

Acties:
  • 0 Henk 'm!

  • sdomburg
  • Registratie: Augustus 2001
  • Laatst online: 03-09-2024
Triloxigen schreef op 25 februari 2003 @ 23:43:
[...]


Dat werkt toch niet met meerdere subdomeinen?
Waarom niet? Check de link maar die ik gegeven heb, dan zet je boven elke pagina gewoon die 3 regeltjes code.

Acties:
  • 0 Henk 'm!

  • cybermans
  • Registratie: Maart 2001
  • Laatst online: 17-09 09:56
ehm als ik in die url kijk kom ik uit op cookies
zoek bij php.net maar op
session

PHP:
1
2
3
4
5
6
7
8
9
10
11
$query= mysql_query("SELECT * FROM users WHERE user_name='".htmlentities($_POST[username])."' 
AND user_password='".md5($_POST[password])."' AND user_active=1");

if (($result = mysql_fetch_assoc($query)) !="")
    {
        $_SESSION[username] = $result[user_name];
        $_SESSION[password] = $result[user_password];
        $_SESSION[counter] = "yes"; //is om visitors te tellen

        header("Location: index.php");
    }
das mijn login ding (wel zonder form)

en mijn pagina's (waar men ingelogt is)
PHP:
1
2
3
4
5
6
7
session_start();
if ($_SESSION[username]!="") 
    {
    session_register('username');
    session_register('password');
    session_register('admin');
    }

[ Voor 22% gewijzigd door cybermans op 25-02-2003 23:55 ]

Strava | Runkeeper | Endomondo (mijn leikr uploads)


Acties:
  • 0 Henk 'm!

  • Bender
  • Registratie: Augustus 2000
  • Laatst online: 16-09 09:15
Login, database etcetc heb ik allemaal al, ik zal het eens met sessions gaan proberen dan :)
Bedankt!

Acties:
  • 0 Henk 'm!

  • Bender
  • Registratie: Augustus 2000
  • Laatst online: 16-09 09:15
Dit heb ik, en dit werkt niet
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
session_start(); 
if ($user[name] && $user[pass]) {
    $member = mysql_fetch_array(mysql_query("SELECT  ID,UserName,Password,Email FROM members WHERE UserName = '$user[name]' && Password = md5('$user[pass]') && ban = 'n' LIMIT 1"));
    if ($member[ID]) {
        $_SESSION[username] = $member[UserName]; 
        $_SESSION[password] = md5($member[Password]);
        header("Location: $domain[url]");
        
    }
} elseif ($_SESSION[username] && $_SESSION[password]) {
    $member = mysql_fetch_array(mysql_query("SELECT ID,UserName,Password,Email FROM members WHERE UserName = '$_SESSION[username]' && Password = '$_SESSION[password]' && ban = 'n' LIMIT 1"));
    $_SESSION[username] = $member[UserName]; 
    $_SESSION[password] = $member[Password]; 
} 

session_register("username"); 
session_register("password");


$user[name] en $user[pass] worden door het form verstuurd

De gerbuiker herkent ie etc wel, want als ik er gewoon echo "$member[ID]"; tussengooi dan geeft ie memberID aan

[ Voor 18% gewijzigd door Bender op 26-02-2003 10:52 ]


Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 16-09 09:15

Janoz

Moderator Devschuur®

!litemod

Als het met gewone cookies niet werkt gaat het ook zeker niet met sessions werken. Deze maakt immers ook gebruik van een cookie die vervolgens niet meer bereikbaar is (tenzij de sessionID in de URL wordt meegegeven).

Je zult toch echt het juiste domein op moeten geven waneer je je cookie zet om hem bij alle subdomeinen ook beschikbaar te maken. Laat eens zien hoe je het tot nu toe geprobeerd hebt?


--

Trouwens, ik vind je code eigenlijk behoorlijk ranzig. Begin eerst eens met je error reporting op E_ALL te zetten en dan die berg foutmeldingen weg te werken. Daarnaast is in de manual duidelijk bij sessions te lezen dat session_register en de _SESSION array niet samen gebruikt mogen worden. En waarom sla je wachtwoord in de sessie op? Waneer de test geslaagd is kun jke er (met sessies iig) gewoon van uit gaan dat de gebruiker geldig is. Anders had ie immers nooit een goede sessie kunnen krijgen.

[ Voor 39% gewijzigd door Janoz op 26-02-2003 11:05 ]

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • Bender
  • Registratie: Augustus 2000
  • Laatst online: 16-09 09:15
Janoz schreef op 26 February 2003 @ 11:01:
Als het met gewone cookies niet werkt gaat het ook zeker niet met sessions werken. Deze maakt immers ook gebruik van een cookie die vervolgens niet meer bereikbaar is (tenzij de sessionID in de URL wordt meegegeven).

Je zult toch echt het juiste domein op moeten geven waneer je je cookie zet om hem bij alle subdomeinen ook beschikbaar te maken. Laat eens zien hoe je het tot nu toe geprobeerd hebt?
Ik heb verschillende manieren geprobeerd..
Inloggen via IP, maar ja, als je het op school doet, dan kan iedreen erop :X
Inloggen met cookie per subdomein, nadeel is dan dat je voor ieder subdomein apart moet inloggen, en ook uitloggen, en dat vergete je weleens op openbare PC's
Inloggen en cookies worden gemaakt voor ieder subdomein, en bij uitloggen voor ieder subdomein gecrasht, alleen MSIE6 die wil geen cookies zetten en crushen voor andere (sub)domeinen ivm veiligheid..

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 16-09 09:15

Janoz

Moderator Devschuur®

!litemod

Triloxigen schreef op 26 februari 2003 @ 11:05:
[...]


Ik heb verschillende manieren geprobeerd..
Inloggen via IP, maar ja, als je het op school doet, dan kan iedreen erop :X
Inloggen met cookie per subdomein, nadeel is dan dat je voor ieder subdomein apart moet inloggen, en ook uitloggen, en dat vergete je weleens op openbare PC's
Inloggen en cookies worden gemaakt voor ieder subdomein, en bij uitloggen voor ieder subdomein gecrasht, alleen MSIE6 die wil geen cookies zetten en crushen voor andere (sub)domeinen ivm veiligheid..


Je kunt je cookie ook voor het bovenliggende domein zetten. Dan geldt ie bij alle onderliggende domeinen.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • Bender
  • Registratie: Augustus 2000
  • Laatst online: 16-09 09:15
Janoz schreef op 26 februari 2003 @ 11:01:
Trouwens, ik vind je code eigenlijk behoorlijk ranzig. Begin eerst eens met je error reporting op E_ALL te zetten en dan die berg foutmeldingen weg te werken. Daarnaast is in de manual duidelijk bij sessions te lezen dat session_register en de _SESSION array niet samen gebruikt mogen worden. En waarom sla je wachtwoord in de sessie op? Waneer de test geslaagd is kun jke er (met sessies iig) gewoon van uit gaan dat de gebruiker geldig is. Anders had ie immers nooit een goede sessie kunnen krijgen.
Code is idd ranzig, dit is niet hoe ik 'm ga gebruiken als het werkt, dit is gewoon even allerlei manieren prutsen :D
Dus errorreplorting etcetc zit er niet in, en pw sla ik op omdat ik toch steeds wil checken of het geldig is en code word tocg md5 encrypted opgeslagen in sessie (altans, dat was de bedoeling :/ )
Janoz schreef op 26 februari 2003 @ 11:06:

[...]


Je kunt je cookie ook voor het bovenliggende domein zetten. Dan geldt ie bij alle onderliggende domeinen.
euh.. nee toch? dat kan toch niet ivm veiligheid?
dus jij zegt dat als ik:
PHP:
1
setcookie("user[pass]", $user[pass], "", "", "domein.nl");
(om het simpel te zeggen) gebruik, dat dit dan ook werkt voor sub.domein.nl

[ Voor 26% gewijzigd door Bender op 26-02-2003 11:11 ]


Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 16-09 09:15

Janoz

Moderator Devschuur®

!litemod

Ik raad je aan om eens een blik op de manual te werpen. Dan zie je waarschijnlijk gelijk waarom jou setcookie regel niet werkte.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'

Pagina: 1