Seite 3 von 3
Re: Eigene Cookies nach anmeldung?
Verfasst: 18.04.2009 21:54
von piero
Ersetz die zwei Zeilen mal durch folgendes, weil ich seh die Variable $sql nirgends^^
Das ganze sollte dann so aussehen:
Code: Alles auswählen
function log_login_logout($mode)
{
// Inalt der Funktion...
$db->sql_error[$sql];
}
Dann bitte mal beim aus- und einloggen prüfen

Re: Eigene Cookies nach anmeldung?
Verfasst: 18.04.2009 21:59
von Ninos
jetzt kommt keine Fehlermeldung mehr, aber das Problem, dass der bei Login gar nichts einträgt und beim Logout nur logout einträgt, gibts immer noch

Re: Eigene Cookies nach anmeldung?
Verfasst: 19.04.2009 00:37
von piero
Stimmen denn die Feldernamen? Auch Gross- und Kleinschreibung....
Warte... bessere Idee^^
Hast du den Teil, wo ich einfach die Variablen hingeschrieben habe, überhaupt bearbeitet und was richtiges hingeschrieben?^^
Re: Eigene Cookies nach anmeldung?
Verfasst: 19.04.2009 16:02
von kiew
piero hat geschrieben:kiew hat geschrieben:Und wie mach ich das dann? Hab ganz normal versucht session variablen zu definieren aber im index stehen sie dann nicht zur verfügung.
In der Funktion selbst kann $_POST['username'] wohl nicht klappen, aber keine session variable steht auf dem index zur verfügung... (Man wird nach dem login auf den index weitergeleitet, eine SessionID ist in der url vorhanden.)
OK, ich geb mich geschlagen...^^
phpBB macht das ein wenig anders :/ ^^
Aber wenn du das Cookie setzt, dann verschlüssle den Inhalt, damit man nicht ohne weiteres das Cookie selbst erstellen kann...
Also zum Beispiel so:
Code: Alles auswählen
set_cookie('login', base64_encode('Irgendein...Text^^' . $user->data['username']), time()+60*60*24*70);
Und dann bei deinen Seiten kannst du das Cookie so auslesen:
Code: Alles auswählen
$hash = 'Irgendein...Text^^';
$username = base64_decode($_COOKIE['login']);
$username = (strpos($username, $hash) === 0) ? substr($username, strlen($hash)) : false;
Also wenn das Cookie richtig gesetzt wurde hast du den Username in $username und sonst false in $username

Leider ist die Variable $username leer... zumindest wenn ich ihn ausgeben will. Als hash hatte ich (also was du als "Irgendein...Text^^" beschrieben hattest:
ag54dg515sr1t5s1rt516464gse61f9cef16e1fe6
und im Cookie steht inhalt: YWc1NGRnNTE1c3IxdDVzMXJ0NTE2NDY0Z3NlNjFmOWNlZjE2ZTFmZTZBbm9ueW1vdXM%3D
Wenn ich schreibe: echo $username;
ist dieser leer, auch mit echo $COOKIE['login'] zeigt er nichts an

Wäre super wenn du mir da nochma helfen könntest^^ Deine Lösung war schonmal super, jetzt muss es nur noch klappen xD
Re: Eigene Cookies nach anmeldung?
Verfasst: 19.04.2009 16:44
von Pyramide
piero hat geschrieben:Aber wenn du das Cookie setzt, dann verschlüssle den Inhalt, damit man nicht ohne weiteres das Cookie selbst erstellen kann...
Also zum Beispiel so:
Code: Alles auswählen
set_cookie('login', base64_encode('Irgendein...Text^^' . $user->data['username']), time()+60*60*24*70);
So ein Humbug. Base64 ist keine Verschlüsselung, sondern dient lediglich dazu, 8bit Daten über eine Verbindung zu übertragen, die dies nicht unterstützt. Dein Verfahren basiert somit auf
Security by obscurity.
Re: Eigene Cookies nach anmeldung?
Verfasst: 19.04.2009 18:45
von piero
Pyramide hat geschrieben:So ein Humbug. Base64 ist keine Verschlüsselung, sondern dient lediglich dazu, 8bit Daten über eine Verbindung zu übertragen, die dies nicht unterstützt. Dein Verfahren basiert somit auf Security by obscurity.
Oh stimmt... schneller geschrieben als nachgedacht :/
Bessere Idee, die auch nicht sehr aufwändig ist?
Vllt. ist beim mcrypt ja mcrypt installiert...
Re: Eigene Cookies nach anmeldung?
Verfasst: 19.04.2009 20:10
von kiew
aber eigentlich... nützt mir eine verschlüsselung denn etwas? ich muss die ja am ende wieder abgleichen. Angenommen ich nehme md5 oder sha1.
Dann setze ich einen cookie dessen inhalt etwa so aussieht: 113c0814aa545825d5749a546f501ec6
wenn der hacker den wert einfach in seinen cookie übernimmt...?
Angenommen ich verschlüssele den $_COOKIE['login'] der wert ist gleich 'hallowelt'
dann muss ich im php script ja schreiben
Code: Alles auswählen
if ( isset ($_COOKIE['login'] ) && $_COOKIE['login']==md5('hallowelt'))
{
mach was ganz tolles;
}
Also kann er sich den cookie auch setzen und ihm den wert 113c0814aa545825d5749a546f501ec6 geben. das script würde true zurückliefern. Oder hab ich da was falsch verstanden? :p