PHP vergißt session bein include

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

  • PHP vergißt session bein include

    Also jetzt hackts bei mir aber mächtig.
    Ich habe cookies and und session cookies an, lifte time irgendwas 84000 sek.

    Jetzt hab ich folgenden Code ausschnitt:
    PHP-Code:
    if (!isset($action)){
          switch(
    $_SESSION['type']){
            case 
    "admin": include(fetch_opt("paths.admin_cp_url")."/index.php");//weiterleoitung admim
                          
    exit;
                          break;
            case 
    "mod"  : include("gbphp.php");
                          exit;
                          break;
          }
        } 
    Hier hin gelange ich, in dem ich kein $action paramter habe und in der session 'type' admin steht, soweit so gut. Ich werde planmäßig zur index.php umgeleitet. fetch opt gibt die komplette url aus der datenbank für das admin control panel, also http://www. usw.
    Ich hatte an der stelle nach switch bei admin ein echo, es kommt tatsächlich dahin, weil admin in session erkannt wurde, soweit so gut.

    nun hab ich dieses script bei index:
    Index ist nicht im selben ordner sondern einen drunter, also "root/sub"
    in sub quasi (sub is nur n beispiel)
    PHP-Code:
    session_start();

    echo 
    $_SESSION['type']."__session"
    und es kommt einfach nie der wert admin dahin. warum? wie kann denn php so die session vergessen? Ich arbeite ohne session id hinten dran hängen, es hat auch vorher funktioniert (wie man das obere beispiel sieht, da werde ich auch per link ohne sid am ende umgeleitet).
    Wo ist hier denn das problem?
    SQL Injection kitteh is...

  • #2
    tja der code reicht wohl nicht aus...
    Wo wird denn $_SESSION['type'] gesetzt?
    Warum gibst Du die SID nicht mit ist trans sid akitiviert?
    Standardfragen...
    Beantworte nie Threads mit mehr als 15 followups...
    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

    Kommentar


    • #3
      im obrigen script steht die session gesetzt. Wie gesagt beim switch ist die noch da. aber dann bei dem anderen nicht mehr.
      trans_sid ist 1, also aktiviert, manuel will ich dies nicht tun, da session coookies ja funktionieren,
      problem ist ja, wenn ich ohne action, also !isset auf index linke, wird session nicht erkannt, tu ich das aber mit aktion schon, es ist voll verwirrend, sessionst funktionieren ohne problem bei mir, nur wenn ich einen ordner tiefer gehe, hörts auf. Und ich betone nochmal ich will keine session id mit dranhängen.

      darüber steht ;
      PHP-Code:
      session_start();
       
      $_SESSION['type']="admin"
      ganz normal
      auffällig hier ist jedenfalls, dass mit action "edit"
      PHP-Code:
       switch ($action){
            case 
      "delete": if($confirm!="yes"){
                             
      confirm("admin.php?".$_SERVER['QUERY_STRING']."&confirm=yes",fetch_opt("set_language.confirm_del"));
                           }else {
                             
      //del_skip($id);
                             
      include("gbphp.php");
                             exit;
                           }
                           break;
            case 
      "edit"  : switch($_SESSION['type']){
                             case 
      "admin"//weiterleoitung admim
                                           
      $view="edit_single_post";
                                           
      $shortposts=$id;
                                           include(
      fetch_opt("paths.admin_cp")."/index.php");
                                           exit;
                                           break; 
      mit dem selben include procedre kein problem erscheint, es wird auch keine sid mitgesendet, wenn ich das richtig verstehe
      SQL Injection kitteh is...

      Kommentar


      • #4
        Verdammt, ich habs gelöst, aber der grund ist mir nicht klar.
        fetch_opt holt werte aus der datenbank, bei ohne action wird mit fetch_opt die var "paths.admin_cp_url geholt", welche so lautet: http://www.wurscht.net/guestbook/testgb

        beim anderen jedoch holt er
        paths.admin_cp, diese hat den wert:
        /home/2004abi.net/guestbook/testgb

        Das heißt ne session kann relative pfade verarbeiten, aber keine kompletten, warum auch immer
        SQL Injection kitteh is...

        Kommentar

        Lädt...
        X