Eigene Cookies nach anmeldung?

In diesem Forum kann man Fragen zur Programmierung stellen, die bei der Entwicklung von Mods für phpBB 3.0.x oder dem Modifizieren des eigenen Forums auftauchen.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
piero
Mitglied
Beiträge: 476
Registriert: 10.11.2008 17:15
Wohnort: Schweiz

Re: Eigene Cookies nach anmeldung?

Beitrag von piero »

Ersetz die zwei Zeilen mal durch folgendes, weil ich seh die Variable $sql nirgends^^

Code: Alles auswählen

$db->sql_error[$sql]; 
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 :)
Ninos
Mitglied
Beiträge: 32
Registriert: 31.12.2008 18:18

Re: Eigene Cookies nach anmeldung?

Beitrag 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 :(
piero
Mitglied
Beiträge: 476
Registriert: 10.11.2008 17:15
Wohnort: Schweiz

Re: Eigene Cookies nach anmeldung?

Beitrag 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?^^
kiew
Mitglied
Beiträge: 7
Registriert: 13.04.2009 15:34

Re: Eigene Cookies nach anmeldung?

Beitrag 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
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Re: Eigene Cookies nach anmeldung?

Beitrag 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.
KB:knigge
piero
Mitglied
Beiträge: 476
Registriert: 10.11.2008 17:15
Wohnort: Schweiz

Re: Eigene Cookies nach anmeldung?

Beitrag 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...
kiew
Mitglied
Beiträge: 7
Registriert: 13.04.2009 15:34

Re: Eigene Cookies nach anmeldung?

Beitrag 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
Antworten

Zurück zu „[3.0.x] Mod Bastelstube“