Omdat de search niet echt veel oplevert m.b.t mijn specefieke probleem, hier mijn post.
In een login systeem doe ik het volgende:
Als je print($info); doet dan zie je ook gewoon een base64_encoded string.
Vervolgens doe ik
Maar als ik print($cookie); doe krijg ik dit:
$cookie[0] == "leeg" // echt leeg, geen waarde
$cookie[1] == "®"
$cookie[2] == "-"
Dus wat klopt hier niet?
In een login systeem doe ik het volgende:
PHP:
1
2
3
4
5
6
7
8
9
10
11
| function set_user_cookie($user_id,$user_naam,$pass_hash) { global $domain; // test $user_id = "1"; $user_naam = "test"; $pass_hash = sha1("test"); $info = base64_encode($user_id.":".$user_naam.":".$pass_hash); setcookie("user","$info",time()+2592000,"/","$domain",0); } |
Als je print($info); doet dan zie je ook gewoon een base64_encoded string.
Vervolgens doe ik
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| function cookiedecode($user) { global $dbi; $user = base64_decode($user); $cookie = explode(":", $user); if($cookie) { $result = sql_query("SELECT pass_hash FROM users WHERE name='$cookie[1]'", $dbi); list($pass) = sql_fetch_row($result, $dbi); if ($cookie[2] == $pass && $pass != "") { return $cookie; } else { del_cookie("user"); unset($cookie); unset($user); } } } |
Maar als ik print($cookie); doe krijg ik dit:
$cookie[0] == "leeg" // echt leeg, geen waarde
$cookie[1] == "®"
$cookie[2] == "-"
Dus wat klopt hier niet?
edit:
Heb net even naar de inhoud van het cookie gekeken en dat ziet er goed uit
[code]
user
MTp0ZXN0OjA5OGY2YmNkNDYyMWQzNzNjYWRlNGU4MzI2MjdiNGY2
127.0.0.1/
1024
937272192
29583148
1070683552
29577113
*
[/code]
Dus er zal ergens iets fout zitten in cookiedecode($user);
Heb net even naar de inhoud van het cookie gekeken en dat ziet er goed uit
[code]
user
MTp0ZXN0OjA5OGY2YmNkNDYyMWQzNzNjYWRlNGU4MzI2MjdiNGY2
127.0.0.1/
1024
937272192
29583148
1070683552
29577113
*
[/code]
Dus er zal ergens iets fout zitten in cookiedecode($user);
[ Voor 27% gewijzigd door Suepahfly op 22-07-2003 11:18 ]