Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] session.use_cookies ohne root abschalten!

Einklappen

Neue Werbung 2019

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

  • Gast-Avatar
    Ein Gast erstellte das Thema [Erledigt] session.use_cookies ohne root abschalten!.

    [Erledigt] session.use_cookies ohne root abschalten!

    Moin,

    also, ich habe folgende Einstellungen in der PHP.ini:

    Code:
    session.use_cookies----------------On--------On
    session.use_only_cookies----------Off--------Off
    Das Problem, die Sessionweitergabe funktioniert nicht, wenn man Cookies deaktiviert hat.
    Gibt es eine Möglichkeit, wenn Cookies deaktiviert sind, session.use_cookies abzuschalten?
    Ich würde es ja generell abschalten, aber leider habe ich kein Rootzugriff.
    session.use_only_cookies ist ja aus, also müsste es doch auch irgendwie anders gehen, oder?

    wilko

  • Gast-Avatar
    Ein Gast antwortete
    Zitat von wilko
    Jo, genau so habe ich das jetzt umgestellt, nur das ich den Usernamen unverschlüsselt in die DB schreibe! Das Passwort wird aber naturlich verschlüsselt und nur verschlüsselt verwendet!
    Halt! Natürlich muß der Username unverschlüsselt in der DB stehen, sonst wird es Streß. Ich meinte eine zusätzliche Spalte für den Dauerkeks.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Jo, genau so habe ich das jetzt umgestellt, nur das ich den Usernamen unverschlüsselt in die DB schreibe! Das Passwort wird aber naturlich verschlüsselt und nur verschlüsselt verwendet!

    wilko

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Zitat von wilko
    Aber wenn das jeder für sich auswählen kann, dann ist es ja in Ordnung!
    Ich bin zu faul, nachzugucken, wie phpBB das erledigt.

    Wie würdest du denn die Userdaten verschlüsseln, bevor du sie in die Sessions schreibst?
    ich würde aus usernamen und paßwort ein MD5 bilden, welches ich in der Usertabelle und im cookie abspeichern würde.

    vor dem session start würde ich in $_COOKIE nach dem MD5 suchen und in der DB nachgucken, ob es dort einen eintrag gibt.

    Falls ja, session_start mit Loginstatus=true und Keks Korrektur
    Falls nein, Loginformular.

    Aber ich würde mir solche Dauereintrittskarten verkneifen.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Hehe...das mache ich auch nicht!

    Aber wenn das jeder für sich auswählen kann, dann ist es ja in Ordnung!

    Wie würdest du denn die Userdaten verschlüsseln, bevor du sie in die Sessions schreibst?

    wilko

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Zitat von wilko
    Lässt du deine Logindaten hier nicht in einem Keks speichern?
    Nein. Ich schreibe auch mein PIN Nummer nicht auf die EC Karte.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Ja, aber dennoch ist es sinnvoll, denn es ist eußerst praktisch. Lässt du deine Logindaten hier nicht in einem Keks speichern? Ich ja, es ist ja kein anderer hier am PC!

    wilko

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Zitat von wilko
    Das ist hier im Forum auch so, oder sehe ich das Falsch??
    Es ist aus Gründen der Sicherheit falsch, sowas (Login per Dauer-Keks) zu verwenden.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Das ist hier im Forum auch so, oder sehe ich das Falsch??

    wilko

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Zitat von wilko
    Die Kekse sollen nur gesetzt werden, wenn sie noch nicht gesetzt sind. Also, die Kekse sollen völlig unabhängig von den Sessions sein und dienen nur dazu, das man sich nicht bei jedem Aufruf der Seite neueinloggen muss.
    Sowas (ohne Login eine geschützte Seite betreten) würde ich an Deiner Stelle ganz schnell vergessen. Wenn Du "long live" Sessions basteln willst, mußt Du Dir wahrscheinlich einen eigenen Session Handler schreiben.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Die Kekse sollen nur gesezt werden, wenn sie noch nicht gesetzt sind. Also, die Kekse sollen völlig unabhängig von den Sessions sein und dienen nur dazu, das man sich nicht bei jedem Aufruf der Seite neueinloggen muss.

    Die Daten, die in den Cookie geschrieben werden, werden vorher mit einem, von mir geschriebenen System verschlüsselt. Das habe ich nur hier rausgenommen. Gibt es eine in PHP integrierte Funktion das zu verschlüsseln? So, das man es auch wieder entschlüsseln kann?
    Die Passwörter werden zwar nach md5 verschlüsselt gespeichert, aber ist es klug die auch so zu übergeben?

    Zum logout, die Session wird mit session_destroy verwendet. Das steht aber in der logout.php die weiter unten dann includet wird.

    wilko

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Zitat von wilko
    Ja, ich habe eine index.php, wo der ganze Sessionkrams drin ist, darin werden dann die Logindaten überprüft....
    Das ist ja löblich. Die Frage ist nur: verwendest Du index.php dann auch als "zentralen Knoten", in dem Du je nach Menüauswahl spezielle Teilscripte einfügst. PHP reagiert auf eine Session_id vom Client nämlich nur nach dem session_start(). Und damit die Authentifizierung auch Sinn macht, muß jedes mal in $_SESSION nachgeguckt werden, ob der Userstatus noch gültig ist.

    ### EDIT:
    Deine Kekszusätze gefallen mir nicht.
    Logindaten im Klartext gehören weder ins Sessionfile noch in den Keks.
    Es nutzt nicht viel, wenn Du die Lebenszeit des Kekses verlängerst, weil das Sessionfile nach einer Idletime > session.gc_maxlifetime zum Löschen vorgemerkt wird.

    Dein Logout ist ebenfalls nicht korrekt. Dort muß sicher sein, daß $_SESSION keine Daten mehr enthält: $_SESSION = array();
    session_writ_close()
    header ('....'); # Startseite ohne Session_id im Link.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Also, das funktioniert jetzt bei mir, aber ich habe noch eine Frage!
    Ich poste ma den Code, eventuell schaust du mal, ob das so OK ist...bin mir irgendwie unsicher!

    Code:
    if(!$login)
    {
    session_start();
    $userend = $_SESSION["usersend"];
    $passend = $_SESSION["passsend"];
    	if(!$userend AND !$passend AND $ptwserverloginusername AND $ptwserverloginpwd)
    	{
    	$userend = $ptwserverloginusername;
    	$passend = $ptwserverloginpwd;
    	$_SESSION["usersend"] = $ptwserverloginusername;
    	$_SESSION["passsend"] = $ptwserverloginpwd;
    	}
    }
    else
    {
    // Session wird erstellt
    session_start();
    $_SESSION["usersend"] = $username;
    $_SESSION["passsend"] = $passwort;
    	if(!$ptwserverloginusername AND !$ptwserverloginpwd)
    	{
    	setcookie("ptwserverloginusername",$username, time()+(3600*24*365), "", "ptw-server.de");
    	setcookie("ptwserverloginpwd",$passwort, time()+(3600*24*365), "", "ptw-server.de");
    	}
    }
    if($seite == "logout" AND $ptwserverloginusername AND $ptwserverloginpwd)
    {
    	setcookie("ptwserverloginusername","", 0, "", "ptw-server.de");
    	setcookie("ptwserverloginpwd","", 0, "", "ptw-server.de");
    }
    Wäre nett, wenn du ma durchschaust!
    Ob man eingeloggt ist, wird nicht da überprüft, weil man nur bestimmte Seiten nur eingeloggt sehen darf!

    wilko

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Ja, ich habe eine index.php, wo der ganze Sessionkrams drin ist, darin werden dann die Logindaten überprüft....

    wilko

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Zitat von wilko
    Also, ich leite mit einem JavaScript weiter!
    Geschmacksache.

    Guck Dir meine Beispiele an.

    btw: in den Folgescripten machst Du doch hoffentlich fleißig auch ein session_start() und prüfst danach den Loginstatus?

    Einen Kommentar schreiben:

Lädt...
X