[PHP] Cookiesysteem werkt niet.

Pagina: 1
Acties:

  • Cheater
  • Registratie: Januari 2001
  • Laatst online: 00:09
wel... ik heb dus in de Search gewoon Cookie gedaan, en natuurlijk kreeg ik de posts die ik zocht, er zit waarschijnlijk veel goeds tussen, maar ik kom er niet uit met mijn cookiesysteem. Ga me niet de URL van PHP+setcookie vertellen, want die hebbik al 4 uur voor m'n neus staan.
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?
else
{
$secretword = "blaat"; 
$hash = md5($Nick2.$pass.$secretword);
Setcookie ("userhash", $hash,time()+3600);
Setcookie ("nick2", $Nick2,time()+3600);
echo $HTTP_COOKIE_VARS["userhash"];

// controleren wat d'r in de cookie gaat
echo "<BR>LoginNaam:",$nick2;
echo "<BR>LoginPassword:",$pass;
echo "<BR>secretword:",$secretword;
echo "<BR>Hash:",$hash;
echo $userhash;
?>

Misschien 1e fout:
echo $HTTP_COOKIE_VARS["userhash"];
laat hij niet zien.

2e bestand, wat de gegevens controleert:
$secretword = "blaat";
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
<?
$hash = md5($HTTP_COOKIE_VARS["userhash"].$HTTP_COOKIE_VARS
["nick2"].$secretword);

echo "<BR>LoginNaam:",$nick2;
echo "<BR>LoginPassword:",$pass;
echo "<BR>secretword:",$secretword;
echo "<BR>Hash:",$hash;
echo $HTTP_COOKIE_VARS["nick2"];
echo $HTTP_COOKIE_VARS["userhash"];
echo $HTTP_COOKIE_VARS["pass"];
?>

Uiteraard staat er in het 2e bestand nog meer, wat een aantal dingen met de gegevens doet...

De output van bestand 2 =

LoginNaam: (Hier staat gewoon niks) -> niet dat ik dit weggehaald heb.
LoginPassword: (Hier staat ook helemaal niks)
secretword:blaat
Hash:-*-*-*-*het getal*-*-*-*-

Alsnog worden de COOKIE_VARS niet getoont.
Misschien dat dit normaal is, ik weet het niet.
Maar wat ik het ergste vindt, is dat de LoginNaam en LoginPassword niet getoont worden.

Ik heb al een paar maniertjes van

$hash = md5($HTTP_COOKIE_VARS["userhash"].$HTTP_COOKIE_VARS
["nick2"].$secretword);

geprobeert.

edit:

Oh, jullie willen natuurlijk m'n vraag... jullie zien niet wat er opgelost moet worden, dus zal ik dit maar zeggen.
Ik wil graag WEL output bij m'n username en password... doe ik iets fout?, en zo ja... wat?

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

en waar gebruik je setcookie ??

Doet iets met Cloud (MS/IBM)


  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Kennelijk gaat er iets fout bij het setten van de cookie's nick2 en pass.

Maar aangezien de code er niet bij staat is heel moeilijk om een oplossing te geven van dit probleem (zo niet onmogelijk).

Tevens is het misschien handig om tijdens debug om in je browser aan te zetten dat je melding krijgt als cookie wordt geset, zodat weet wanneer er een cookie wordt geset en wat de inhoud is.

Hou er rekening mee dat het onverstandig is om een password in een cookie te plaatsen. Misschien kan je beter naar sessie's kijken?

ow ja
www.php.net/setcookie >:)

Programmer - an organism that turns coffee into software.


  • Cheater
  • Registratie: Januari 2001
  • Laatst online: 00:09
Setcookie ("userhash", $hash,time()+3600);
Setcookie ("nick2", $Nick2,time()+3600);

en wat is dit dan?

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Op Sunday 28 October 2001 20:34 schreef Cheater het volgende:
Setcookie ("userhash", $hash,time()+3600);


en wat is dit dan?
De cookie userhash?

En wij willen weten waar cookie pass en nick2 zijn....

Programmer - an organism that turns coffee into software.


  • Cheater
  • Registratie: Januari 2001
  • Laatst online: 00:09
Eeew... sorry... ik zal het anders zeggen...

Je hebt INPUT --> nickname + pass + secretword
daar maakt hij een code (userhash) van.

Ik maak 2 cookies... 1tje met een nickname erin
en 1tje met de code (userhash) erin.

Pagina 2 opent de cookies, en kijkt naar de username. Aan de hand van die username haalt hij een paswoord uit de database, wat bij die username hoort. Secretcode is in de 2e pagina ook bekend. En nu hebbik weer 3 gegevens.
nickname + pass + secretword
daar maak ik een nieuwe code (hash) van.

Deze zou hetzelfde moeten zijn als de 1e code op de 1e pagina (die hij in een cookie zet)
Hij vergelijkt de 2 codes, en als ze gelijk zijn, dan doet hij de pagina opbouwen. Als hij fout is, dan heb je dus verkeerde username en/of paswoord.

Er wordt in dit geval dus helemaal geen paswoord in een cookie gezet.

  • Cheater
  • Registratie: Januari 2001
  • Laatst online: 00:09
Het probleem is nog steeds, dat hij m'n username niet uit de cookie haalt.

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

print_r($HTTP_COOKIE_VARS);

Doet iets met Cloud (MS/IBM)


  • Cheater
  • Registratie: Januari 2001
  • Laatst online: 00:09
Eeew... juist ja...

Ik wou nog een topic plaatsten over dat MD5 gedoe, maar daat zijn er al zo ontiechelijk veel van, en ik heb het ondertussen al gevonden...

Kheb nu een werkend Cookiesysteem + MD5 + hij slaat geen paswoord op in de cookie.

Ik dacht dus... lekker veilig

  • Devil
  • Registratie: Oktober 2001
  • Niet online

Devil

King of morons

Ikzelf heb een soortgelijk systeem gemaakt en had ook problemen met het setten van cookies. Die dingen leken uberhaupt niet geset te worden of meteen weer te expiren. Ipv de standaard php SetCookie() functie kun je beter een http header met coockie sturen, dit lijkt in vrijwel alle gevallen goed te werken. Voorbeeld (uit mijn login script):
code:
1
2
3
4
5
6
7
// Set cookies which expire in 3 hours 
$time = mktime()+10800; 
$date = date("l, d-M-y H:i:s", ($time)); 
header("Set-Cookie: CKEMail=$EMail; expires=$date GMT"); 
header("Set-Cookie: CKPassword=$Password; expires=$date GMT");
header("Set-Cookie: CKHash=$Hash; expires=$date GMT");
header("Set-Cookie: CKUserId=$UserId; expires=$date GMT");

n.b. CKHash en CKPassword zijn md5 hashes.
Zorg er welvoor dat de header(); functies zo staan 'opgesteld' dat er niet eerst al html output is geweest, aangezien de headers dan al gestuurd zijn.

After all, we are nothing more or less than what we choose to reveal.


  • a casema user
  • Registratie: Januari 2000
  • Laatst online: 19:07
doe dit eens voordat je cookie uitleest.
PHP:
1
2
3
<?
global $HTTP_COOKIE_VARS;
?>

Taaaa taa taa taaaa taa taa ta taaataaaaa.

Pagina: 1