Frontend-Login und Cookieverweigerer

Ideen für neue Funktionen in CONTENIDO?
Antworten
Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Frontend-Login und Cookieverweigerer

Beitrag von Dodger77 » Mi 9. Feb 2005, 19:08

Bei einem Kunden war es notwendig, einen Frontend-Login zu implementieren. Dabei stört mich (und vor allem den Kunden), dass die Besucher der Seite nicht darauf hingewiesen werden, dass sie Cookies deaktiviert haben, wenn sie versuchen sich einloggen.
Vielmehr ist es so, dass der Besucher direkt nach dem Abschicken des Login-Formulars als eingeloggt gilt, d.h. $auth->auth["uid"] ist gesetzt. Surft dieser nun weiter, wird allerdings auf den Sessioncookie zurückgegriffen, der ja gar nicht vorhanden ist. Also gilt der Besucher wieder als ausgeloggt. Sowas kann einen Besucher schonmal ganz schnell vergraulen, denke ich. ;-)

Naja, ich habe mir erstmal so beholfen, dass ich eine Abfrage in der front_content.php eingefügt habe, ob der Sessioncookie gesetzt ist oder nicht. Dafür habe ich:

Code: Alles auswählen

if (isset($username))
{
  $auth->login_if(true);
}
ersetzt durch

Code: Alles auswählen

if (isset($username))
{
  $auth->login_if(true);
  if ($_COOKIE[$sess->cookiename] == "") {
    $logout = true;
  }
}
. Alternativ könnte man natürlich auch die front_crcloginform.inc.php (oder eine Umleitung auf eine eigenen Fehlerkategorie wie in docs/techref/modules/module.login.html beschrieben) verwenden, die man um einen Hinweis ergänzt, dass Cookies aktiviert sein müssen:

Code: Alles auswählen

if (isset($username))
{
  $auth->login_if(true);
  if ($_COOKIE[$sess->cookiename] == "") {
    $auth->auth_loginform();
  }
}
Kann sowas in der Art integriert werden? Falls das Ganze bereits möglich ist und viel einfacher hätte umgesetzt werden können, bitte ich mein Brett vorm Kopf zu entschuldigen.


Gruß

Ingo

emergence
Beiträge: 10641
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Do 10. Feb 2005, 21:41

nun ja wenn ich mich nicht ganz täusche sollte an sich bei den urls die session id mit übergeben werden, falls cookies deaktiviert sind...
sollte funktionieren bei allen urls die mittels $sess->url("front_content.php?idcat=blabla") innerhalb des codes definiert sind...
ich glaub das ging das mal in der 4.3.x...
*** make your own tools (wishlist :: thx)

Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Beitrag von Dodger77 » Do 10. Feb 2005, 21:54

emergence hat geschrieben:nun ja wenn ich mich nicht ganz täusche sollte an sich bei den urls die session id mit übergeben werden, falls cookies deaktiviert sind...
sollte funktionieren bei allen urls die mittels $sess->url("front_content.php?idcat=blabla") innerhalb des codes definiert sind...
Stimmt, an sich sollte das natürlich möglich sein. In der "conlib/local.php" könnte ich natürlich den $fallback_mode auf "get" setzen (steht normal auf "cookie"), da gibt es aber direkt wieder Probleme, wenn ich mal an

http://www.php-faq.de/q/q-sessions-fallback.html

denke. Schließlich müssen auch durch Redakteure eingegebene Links auch durch $sess->url("front_content.php?idcat=blabla") formatiert werden. Die Module kann ich natürlich demtentsprechend anpassen, aber ob das beim Insite-Editing oder im WYSIWYG-Editor auch klappt?!?
Deshalb dachte ich, dass ein Hinweis an Besucher, die Cookies nicht annehmen, sinnvoll wäre.

emergence
Beiträge: 10641
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Do 10. Feb 2005, 22:17

Dodger77 hat geschrieben:Schließlich müssen auch durch Redakteure eingegebene Links auch durch $sess->url("front_content.php?idcat=blabla") formatiert werden. Die Module kann ich natürlich demtentsprechend anpassen, aber ob das beim Insite-Editing oder im WYSIWYG-Editor auch klappt?!?
ich denke mal das war genau der grund warum der fallback auf cookie gestellt wurde...
*** make your own tools (wishlist :: thx)

Antworten