Im Frontend eingeloggt bleiben (kusinet)

Gesperrt
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Im Frontend eingeloggt bleiben (kusinet)

Beitrag von HerrB » Mi 1. Mär 2006, 01:57

kusinet hat geschrieben:Guten Tag

Ich habe aus dem Forum entnommen, dass Du dich mit den frontend usern auseinandergesetzt hast. Meine Frage ist, ob ich ein permanentes cookie für den user setzen kann? Also zum Beispiel eine Checkbox beim Login: "Eingeloggt bleiben" und der Benutzer ist, wenn er den Browser schliesst und wieder auf die Seite kommt automatisch eingeloggt. Ich habe im Ordner /conlib die Dateien session.inc und auth.inc angeschaut. Dort hat es Einträge für Cookie, aber auch wenn ich dort die lifetime = 0 setze bleibt das Cookie nur für eine Session, also bis der Browser geschlossen wird gültig.

Vielleicht kannst Du mir weiterhelfen
Bitte Fragen im Forum posten...

Die Dauer der Frontend-Session kann man in der conlib/local.php festlegen - dies ist in der Contenido-FAQ beschrieben: http://www.thilo-sommer.de/PHPMyFAQ/ind ... ight=login

In Contenido V4.6.x steht die lifetime für Contenido_Frontend_Session auf 0 (d.h. bis der Browser geschlossen wird). Wird hier z.B. 120 eingetragen, bleibt der Cookie 2 Stunden erhalten (sogar, wenn man den Browser schließt).

Leider dürfte die Session aber trotzdem irgendwann ungültig werden, nämlich wenn man selbst innerhalb der 2 Stunden nicht auf der Webseite aktiv ist und jemand anderes auf die Seite geht und die cronjobs auslöst.

Die Funktion cleanupSessions löscht nämlich Sessions, die älter als die lifetime aus dem Objekt Contenido_Challenge_Crypt_Auth ist - eigentlich die Länge der Backend-Session. Diese lässt sich aber über den Eintrag $cfg["backend"]["timeout"] in der contenido/includes/config.misc.php anpassen (z.B. von standardmäßig 60 auf 120 Minuten).

Eine dauerhafte Anmeldung ist IMHO nicht möglich, da man dazu das Aufräumen der Sessions abschalten müsste...

Alle Angaben nach bestem Wissen und Gewissen...

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net

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

Re: Im Frontend eingeloggt bleiben (kusinet)

Beitrag von emergence » So 5. Mär 2006, 10:44

HerrB hat geschrieben:Eine dauerhafte Anmeldung ist IMHO nicht möglich, da man dazu das Aufräumen der Sessions abschalten müsste...
yep, ist so...
*** make your own tools (wishlist :: thx)

jcf
Beiträge: 44
Registriert: Fr 22. Dez 2006, 17:30
Kontaktdaten:

Workaround/Lösung

Beitrag von jcf » Fr 14. Sep 2007, 10:20

Gibt es hierfür inzwischen eine Lösung (dauerhafter login)?

Wäre es evtl. möglich einen Link einzurichten, der verschlüsselte Zugangsdaten enthält und beim Aufrufen automatisch einloggt (quasi ein Bookmark). Ich kenne das vom etracker. Das funktioniert auch sehr gut...

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Fr 14. Sep 2007, 11:36

Nein. Du kannst Dir mal die Funktionen in der conlib angucken - aber das ist recht komplexe Materie.

Auch wird das - mit der bisherigen Technik - kaum umgesetzt werden können, da Contenido das Passwort nicht bekannt ist (ist nur der md5-Hash, der nicht übertragen werden sollte) und somit das Passwort lokal gespeichert werden müsste. Und das ist, selbst verschlüsselt, keine gute Idee.

Persönlich würde ich hier die Browser-Funktion bevorzugen "speichere Nutzername/Kennwort". Das ist allenthalben sichererer, als in einem Cookie.

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net

jcf
Beiträge: 44
Registriert: Fr 22. Dez 2006, 17:30
Kontaktdaten:

Beitrag von jcf » Fr 14. Sep 2007, 17:17

danke für die Info!

wäre es, um es den besuchern komfortabler zu machen, vielleicht möglich das Löschen der Session IDs zu unterbinden oder zu verzögern (alle drei stunden oderso)? Wofür ist das überhaupt gut?

jcf
Beiträge: 44
Registriert: Fr 22. Dez 2006, 17:30
Kontaktdaten:

Beitrag von jcf » So 16. Sep 2007, 19:45

ich sehe gerade, dass meine frage oben schon beantwortet wurde. sorry!

was würde denn passieren, wenn die backend sessions bspw. nur einmal im Monag gelöscht würden?

da die sicherheit nicht so hoch sein muss auf meiner seite, hatte ich die idee, die passwörter nicht als md5 abzuspeichern. dadurch wären sie dann im frontend abrufbar, was wiederum die generierung einer individuellen zugangs-URL ermöglichen würde. Ich habe das mal getestet. Nur leider funktioniert es nicht. Hat jemand eine Idee woran das liegt?

Code: Alles auswählen

<?php

if($_GET['al'] == "testzugang1234") { //würde ich später aus dem benutzernamen und dem passwort zusammensetzen - evtl. verschlüsselt

$parameters = "username=1231241&password=xyz"; // die als post zu versendenden variablen für das Einloggen im Frontend - Müsste sich später dann aus dem $_Get Befehl ergeben...

$host = "www.domain.com"; // domain only, no path info
$path = "/"; // path to cgi, asp, php program

$fp = fsockopen($host, 80, $errno, $errstr);
if ($fp) {
fputs($fp, "POST $path HTTP/1.1\r\n");
fputs($fp, "Host: $host\r\n");
fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
fputs($fp, "Content-length: " . strlen($parameters) . "\r\n");
fputs($fp, "Connection: close\r\n\r\n");
fputs($fp, $parameters);
fclose($fp);
} else {
echo "$errstr ($errno)<br />\n";
}


}
?>
Wenn ich anstatt "fclose" "fpassthru" verwende, loggt er sich zwar ein, der Zustand wird aber nicht übernommen, wenn man anschließend auf einen Link der Seite navigiert.

Gesperrt