Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Session Dauer ohne php.ini bestimmen?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Gast-Avatar
    Ein Gast erstellte das Thema [Erledigt] Session Dauer ohne php.ini bestimmen?.

    [Erledigt] Session Dauer ohne php.ini bestimmen?

    Hallo,

    habe das Problem, dass sich User immer nach einer Stunde oder so neuanmelden müssen, weil
    session.gc_maxlifetime 1440 1440 so eingestellt ist.

    Kann man die Dauer irgendwie erhöhen ohne das man an die Php.ini dran kommt?

    Gruss
    Laurenz

  • Gast-Avatar
    Ein Gast antwortete
    Zitat von goosele
    Meint ihr damit ide Ordner atd, backup, files, html, log, phptemp und restore?
    ich vermute mal, dein document root ist "html", kannst du aber leicht mit echo basename($_SERVER['DOCUMENT_ROOT']); überprüfen. wenn du die rechte hast, über diesen ordner den session-ordner zu erstellen, ist es natürlich besser und du kannst dir den .htaccess-kram sparen.


    JETZT MAL AN DIE ANDEREN
    bin gerade ein wenig am zweifeln, ob man überhaupt einen neuen session-ordner erstellen muss.
    meine überlegungen waren:
    die session-files werden für alle kunden des webservers zentral gespeichert (/tmp oder so).
    wenn "goosele" per ini_set() die lebensdauer der sessions erhöht, räumt bei seinen sessions die müllabfuhr nur die abgelaufenen sessions mit der neu gesetzten lokalen lifetime ab.
    wenn nun ein script eines anderen benutzers gestartet wird, gilt wieder die globale session-lifetime und damit werden auch "gooseles" sessionfiles gelöscht.

    ist das so, oder habe ich dabei einen denkfehler (sessionfiles werden vielleicht doch benutzerabhängig gelöscht)?

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Zitat von Zergling
    Wozu den Session-Ordner überhaupt ins Document-Root legen und aber schützen. Sicherer wäre ihn gleich eine Ebene höher abzulegen.
    Meint ihr damit ide Ordner atd, backup, files, html, log, phptemp und restore?

    Danke schonmal für den Hinweis, wenn ich es auch sicherer irgendwo speichern kann, dann schreibt mir.

    Gruss
    goosele

    Einen Kommentar schreiben:


  • xabbuh
    antwortet
    Zitat von Zergling
    Wozu den Session-Ordner überhaupt ins Document-Root legen und aber schützen. Sicherer wäre ihn gleich eine Ebene höher abzulegen.
    Weil ihm sein Host warscheinlich keinen Zugriff oberhalb des DocumentRoots gibt.

    Einen Kommentar schreiben:


  • Zergling-new
    antwortet
    Wozu den Session-Ordner überhaupt ins Document-Root legen und aber schützen. Sicherer wäre ihn gleich eine Ebene höher abzulegen.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    also, du erstellst ein verzeichnis in deinem docroot, z.b.: "sessionfiles"
    dann schreibst du vor session_start():
    Code:
    ini_set('session.gc_maxlifetime',604800);
    ini_set('session.save_path',$_SERVER['DOCUMENT_ROOT'].'/sessionfiles');
    wenn es funktioniert, sollte sich in diesem ordner nach session_start() das session-file befinden.

    den ordner schützen: eine datei namens ".htaccess" mit dem inhalt:
    Code:
     
    Order Deny,Allow
    Deny from all
    in den ordner speichern.
    mit dem aufruf http://deinedomain.de/sessionfiles überprüfen, ob der schutz greift.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    kannste mir vielleicht den code schnipsel geben??
    Da ich .htaccess überhaupt nicht kann und session.save_path auch noch nie benutzt habe

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Zitat von goosele
    Wenn ich echo ini_set('session.gc_maxlifetime',60*60*24*7); mache, kommt nur 1440. Also ist es wahrscheinlich deaktiviert
    nein, es hat funktioniert, 1440 ist der alte wert

    allerdings hast du den wert nur temporär für deine sessionverwaltung überschrieben. wenn du jetzt noch session.save_path auf einen htaccess-geschützen ordner in deinem doc-root umbiegst, sollte es funktionieren.

    Einen Kommentar schreiben:


  • md5hash
    antwortet
    vielleicht magst du einfach glauben das es nicht geht?

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Wenn ich echo ini_set('session.gc_maxlifetime',60*60*24*7); mache, kommt nur 1440. Also ist es wahrscheinlich deaktiviert

    Irgendwelche anderen Ideen?

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Manche (wenn nicht sogar die meisten) Hoster haben aus gutem Grunde die Funktion ini_set abgeklemmt.

    Gruß
    phpfan

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Zitat von goosele
    Klappt leider nicht....
    Irgendwelche Ideen?
    hast du ini_set() auch vor session_start() aufgerufen?
    eine andere möglichkeit besteht in der konfiguration mittels .htaccess-datei
    Zitat von goosele
    Versuche es gerade mit
    ini_set('session.gc_maxlifetime',60*60*24*7);
    aber ich will nicht bis morgen warten um zu testen ob es funktioniert.
    ini_set() gibt bei einem fehler false zurück, ansonsten den alten wert.
    also -> echo ini_set('session.gc_maxlifetime',60*60*24*7);

    Einen Kommentar schreiben:


  • md5hash
    antwortet
    Zitat von md5hash
    root server kaufen

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Klappt leider nicht....
    Irgendwelche Ideen?

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Versuche es gerade mit
    ini_set('session.gc_maxlifetime',60*60*24*7);
    aber ich will nicht bis morgen warten um zu testen ob es funktioniert.

    Ihr wisst doch ob das klappt oder nicht

    @md5hash
    Geld geben

    Einen Kommentar schreiben:

Lädt...
X