Echtes, externes Login

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
mafiatom
Mitglied
Beiträge: 11
Registriert: 08.08.2006 11:02

Echtes, externes Login

Beitrag von mafiatom »

Ich programmiere eine Vereinsverwaltungssofware mir angebundenem PHPBB.

Der User soll sich nur einmalig auf der Verwaltung anmeldung und erhält automatisch eine Anmeldung im phpBB.

Derzeit ist es so gelöst:
Es wird ein Session Eintrag in dem Table Session gemacht und ein cookie angelegt.

Mit allen Browsern funktioniert das auch einwandfrei, nur der IE7 macht macken mit dem Cookie cookiename_sid.
Ist dieses Cookie Problem beim IE7 hier schon bekannt und gibt es Tips dazu, wie man das umgeht?

Es scheint, als ob der IE7 das Cookie einfach mal löscht oder erst garnicht anlegt. Das tritt sehr sporadisch auf und kaum nachvollziehbar. Wirkt sich aber derart aus, dass der User sich auf dem Board bewegt, einen Beitrag schreibt und beim absenden die Melung bekommt: Du musst dich anmelden.
Manchmal tritt es auch einfach nur beim anklicken eines Beitrags in einem geschützen Forum auf. Oder auch beim aufrufen der PMs bzw beim versenden dieser.

Mit anderen Browsern - wie gesagt - gibt es dahingehend keinerlei Probleme.
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

Prinzipiell sind keine besonderen Probleme mit dem MSIE 7 bekannt. Allerdings sind die Datenschutzrichtlinien durchaus ein Grund, der das erschweren könnte.

Klappt das normale Cookie-Handling von phpBB? Ggf. auch mal etwas mit den Domain-Angaben bei der Cookie-Erstellung spielen (KB:cookie_probleme)

Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
mafiatom
Mitglied
Beiträge: 11
Registriert: 08.08.2006 11:02

Beitrag von mafiatom »

Hm, der einzige erkennbare unterschied zu den Coockies vom Board um dem, den ich anlege, ist die Zuweisung der Domaine.

Die vom Board werden als
name@domaine.de abgelegt, den, den ich erzeuge wird als
name@www.domaine.de abgelegt.
Warum dies so ist, kann ich nicht nachvollziehen. Benutze das identische set_cookie wie im Forum, und die Daten der Config Table werden herangezogen.

Was sein könnte, ist ein Fehlerhafter eintrag in die Session Table. Dieser sieht bei mir derart aus:

Code: Alles auswählen

$sql    = "INSERT INTO " .$g_forum_praefix. "_sessions
                  (session_id, session_user_id, session_start, session_time, session_ip, session_page, session_logged_in, session_admin)
                  VALUES ('$g_forum_session_id', $g_forum_userid, $current_time, $current_time, '$user_ip', 0, $session_logged_in, 0)";
und das set_cookie so:

Code: Alles auswählen

// Cookie fuer die Anmeldung im Forum setzen
        setcookie($g_forum_cookie_name."_sid", $g_forum_session_id, time() + 60*60*24*30, $g_forum_cookie_path, $g_forum_cookie_domain, $g_forum_cookie_secure);
In den Variablen sind die config Daten, die aus dem config Table ausgelesen werden. Die Session_id = session_id() vom pagestart().
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

Wie ermittelst du denn $g_forum_cookie_path und $g_forum_cookie_domain? Welche Werte haben die?

Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
mafiatom
Mitglied
Beiträge: 11
Registriert: 08.08.2006 11:02

Beitrag von mafiatom »

Code: Alles auswählen

    $sql    = "SELECT config_value FROM ". $g_forum_praefix. "_config WHERE config_name = 'cookie_name' ";
...
    $sql    = "SELECT config_value FROM ". $g_forum_praefix. "_config WHERE config_name = 'cookie_path' ";
...    
    $sql    = "SELECT config_value FROM ". $g_forum_praefix. "_config WHERE config_name = 'cookie_domain' ";
...    
    $sql    = "SELECT config_value FROM ". $g_forum_praefix. "_config WHERE config_name = 'cookie_secure' ";
...
Werte:
cookie_name = test412 (als Beispiel)
cookie_path = /
cookie_domain = leer
Antworten

Zurück zu „Coding & Technik“