Ergebnis 1 bis 13 von 13

Thema: Session ; Er startet garkeine o_O

  1. #1

    Session ; Er startet garkeine o_O

    Hallo ,

    Ich code gerade am Admin Menu für CMS-D (Sihe Sig) nun will ich mich auf Neues Terra Trauen Sessions mit Cookie Ergo wenn Cookie off ist wird Session benutz.Nur Irgentwie Startet er keine Session bzw. Ich habe woll Irgentwas Falsch gemacht hier mein Bisheriger Code (es ist nur ein Ausschnitt )

    PHP-Code:

    session_start
    ();

    include(
    "../config.php") ;

    if(isset(
    $_POST["login"]))
       { 

    $admincookie "$nickname@$pwd";;
    setcookie("CMS_D"$admincookie,time()+3600);
     
    $_SESSION['nickname'] = "$nickname;
    $_SESSION['pwd'] = md5($pwd) ;

    header ('Location: index.php?=SID');
       }
     
    $cookielesen preg_split("/@/"$CMS_D) ;

    $nickname $cookielesen [0]; 
    $pwd md5($cookielesen[1]);


    if(
    $nickname == "")
          {
    $nickname $_SESSION['nickname']; 
    $pwd $_SESSION['pwd'];
           } 
    Ich weiss zwar das if($nickname == "") keine tolle Lösung ist aber mir fliel nix anderrs ein um zu sehn ob der User Cookies an hat ohne die Grundstrucktur des Codes Komplett auf den Kopf zustellen.

    Naja aufjeden fall gitb er nur =SID weiter das sollte er aber nicht oder ?

    Mfg Dadie.

    btw.Ich wette Ork weiss es -.-

  2. #2
    Du weißt erst, ob das Cookie angenommen wurde, wenn die Seite irgendwie neu geladen wurde. Davor ist zwar die Cookie- Variable gesetzt, aber beim Nächsten Aufruf ist sie verschwunden.
    Am besten, du setzt einfach auf der Loginseite ein Testcookie und überprüfst dann das.

  3. #3
    Ich seh da auch garkein session_start(); oder hab ich wieder mal was verpeilt?

  4. #4
    Zitat Zitat von Codec
    Ich seh da auch garkein session_start(); oder hab ich wieder mal was verpeilt?
    Ganz am Anfang, obwohl es eigendlich wennschon in das if gehören würde.

  5. #5
    Um die SID per URL zu übergeben, muss du die Konstante SID anders verwenden:
    PHP-Code:
    header('Location: index.php?'.SID); 
    Oder per session-Funktionen:
    PHP-Code:
    header('Location: index.php?'.session_name().'='.session_id()); 

  6. #6
    OK nun übergibt der die Session ID doch das Hilft mir Herzlich wennig weil er keine Variablen Speichern will ;_;

    PHP-Code:
    echo "$pwd GHG $nickname <br>s" ;

    include(
    "../config.php") ;

    if(isset(
    $_POST["login"]))
       { 

    session_start();


    $pwd md5($pwd) ;
    $admincookie "$nickname@$pwd";;
    setcookie("CMS_D"$admincookie,time()+3600);
    $_SESSION['pwd'] = $pwd ;
    $_SESSION['nickname'] = $nickname ;
    // header('Location: index.php?'.session_name().'='.session_id()); 
       
    }
     
    $cookielesen preg_split("/@/"$CMS_D) ;

    //$nickname = $cookielesen [0]; 
    //$pwd = $cookielesen[1];


    $pwd $_SESSION['pwd']   ;
    $nickname $_SESSION['nickname']   ;

    echo 
    "$pwd GHG $nickname<br>" 
    So habe ich es nun umgecoded sobald ich das // bei header wegmache übergibt der die Session ID aber keiner lei Variablen die ich gespeichert habe werden angezeigt

    Wenn ich ohne header arbeite Zeigt er mir was an jedoch ändert sich das md5 Gecryptete PWD ewig aber warum ? IMO wie soll ich ein PWD Vergleichen wenn es sich immer ändert ^^°

  7. #7
    Versuch mal $_SESSION[pwd], $_SESSION[nickname] usw.. Also ohne '.
    Frag nicht, ist nur eine Vermutung.
    Außerdem muss auch eine Session gestartet werden wenn $_POST["login"] nicht gesetzt ist. Andenfalls werden Session-Variablen nicht verfügbar sein.
    Also session_start(); unter include("../config.php") ; packen, außerhalb des If-Konstrukts.

  8. #8
    Hmm ... das Problem, dass es mit so einer einfach Zuweisung nicht klappen will, hatte ich neulich auch. Ich hab die Session-Variable dann vorher nochmal auf die alte Weise registriert, dann ging's ...

    PHP-Code:
    session_register ('password');
    session_register ('username');
    $_SESSION['password'] = $password;
    $_SESSION['username'] = $username

  9. #9
    Ok

    1,Es klappt ich musste die Variablen erst Registrieren (Gott ich ahbe doch PHP 5 drauf was will mein Apachie nur ? )

    2,Das tuht aber nichts zur sache das er per md5 das wort z.B. hund erst in
    57b7bb96e53980967f54852f7bec6e9d umwandelt dann aber mein Nägsten Login in
    2d2c0cbb4c27a98a87b234866745fb81 das Hilft mir sellten wennige und bisher ist das noch nie passiert warum jetzt ?

    Code :

    PHP-Code:
    <?php

    echo "$pwd GHG $nickname <br>s" ;

    include(
    "../config.php") ;

    session_start();

    if(isset(
    $_POST["login"]))
       { 



    session_register ('nickname'); 
    session_register ('pwd'); 
    $pwd md5($pwd) ;
    $admincookie "$nickname@$pwd";;
    setcookie("CMS_D"$admincookie,time()+3600);
    $_SESSION['pwd'] = $pwd ;
    $_SESSION['nickname'] = $nickname ;
    //header('Location: index.php?'.session_name().'='.session_id()); 
       
    }
     
    $cookielesen preg_split("/@/"$CMS_D) ;

    //$nickname = $cookielesen [0]; 
    //$pwd = $cookielesen[1];


    $pwd $_SESSION['pwd']   ;
    $nickname $_SESSION['nickname']   ;

    echo 
    "$pwd GHG $nickname<br>" ;

    Geändert von dadie (14.03.2005 um 17:50 Uhr)

  10. #10
    Kann es sein, dass du das bereits verschlüsselte Passwort noch einmal verschlüsselst?
    Dann käme nämlich immer etwas anderes raus...

  11. #11
    Hmjoa... oder register_globals sind off und $pwd wird nicht übernommen. In dem Fall $pwd durch $_POST["pwd"] ersetzen.
    Auch aus "" (nichts) kann man einen md5-Hash errechnen lassen.

  12. #12
    Also da es ewig nur Errors gibt um Cookie und Session zusammen bzw. als Alternative zu nutzen will ich nun komplett auf Session umsteigen jedoch ist die Frage unterstütz jeder Host Sessions oder ist das eine Funktion die woll ehr aus als an ist bei Hosts ?

  13. #13
    Zitat Zitat von Chocwise
    Hmjoa... oder register_globals sind off und $pwd wird nicht übernommen. In dem Fall $pwd durch $_POST["pwd"] ersetzen.
    Auch aus "" (nichts) kann man einen md5-Hash errechnen lassen.
    Puh... *kratzambart*
    Schwer zu sagen. Sessions gehen ein wenig zu Lasten der Server-Performance, nur ist das heute weniger ein Problem mehr wie bei älteren Servergenerationen. Von Sicherheitsbedenken im Zusammenhang mit Sessions auf Systemebene wüsste ich auch nichts. Ich denke mal, das viele Free-Hosts die PHP bieten auch Sessions erlauben, kostenpflichtige Hosts sowieso. Allerdings variieren die Settings zu den Sessions sicherlich sehr stark von Host zu Host. So sollte man sich z.B. nicht immer darauf verlassen das SID immer den Sessionnamen und die Sesson-ID enthält. So kann es auch PHPSESSID heißen, das ist AFAIK so bei der Standardkonfiguration. Auch kann das automatische Anbieten eines Sessioncookies deaktiviert sein.
    Also achte am besten beim Scripten schon darauf diese Variationen abzufangen.
    Lies dazu nochmal die Artikel zu den sessions im Manual und schau vielleicht auch mal in die phpinfo() deines derzeitigen Hosts.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •