Session ID übergeben

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

  • Session ID übergeben

    Hallöchen

    So kann jetzt endlich mal meine Session ID und meine Abfragen machen. Leider klappt das mit der übergabe der Session ID nicht.

    Kurz zum Ablauf:

    In der Login2.php gebe ich die userdaten ein und überprüfe ob das passt. Wenn das i.O. ist linke ich mit Meta refresh nach fach.php weiter.
    Dort muss ich mit der Sessid überprüfen wer eingelogt ist und damit die Rechte bestimmen und festlegen ob er die Seite sehen darf oder nicht.

    Wie bekomme ich nun in der fach.php die Sessid. Ich habe es schon mit Get also per URL gemacht. funktioniert einwadfrei, aber dann hab ich den unsicheren Link, da die Sessid ja in der Login DB steht und dort nicht gelöscht wird, muss auch zur auswertung drin bleiben.

    Wie bekomme ich nun die Sessid in die fach.php

    So das ist die login2.php

    PHP-Code:
    <?php
        
    //Connect Daten für Datenbank Connect
          
    require("inc/allcon.txt");

            
    $conn mysql_connect($dbhost,$dbuser,$dbpasswd);
            
            
    mysql_select_db($database,$conn);


        if(!isset(
    $name)){$name="";}
          if(!isset(
    $pw)){$pw="";}


               @
    session_start();
               
    session_register("name");session_register("pw");

               
    //$PW wird auf 1 gesetzt, falls keine Eingabe erfolgt ==> "denn nichts == 0"
               
    $pw="1";
               
    //hier wird überprüft ob Fomulardaten eingegeben wurden, wenn ja werden vars gesetzt
               
    if (isset($_POST["name"])){
                    
    $name =      $HTTP_POST_VARS["name"];
                    
    $pw =        $HTTP_POST_VARS["pw"];
               }

                
    $s1=session_name();$s2=session_id();
                
    $sid="$s1=$s2";
                
    $ipaddr "0" //$REMOTE_ADDR;
            
                
    $sql "SELECT * FROM $dbnameu WHERE dshname = \"$name\"";

                
    $suche mysql_query($sql,$conn);
                
    $erg=mysql_fetch_array($suche);
                
    //hier wird der String $pw in einen Array umegwandelt ( String != Array )
                
    $pw2 = array($pw);
                if (
    $erg[4]==$pw2["0"]){

                
    $sql2 "INSERT $dbnamel (userid,sessionid,datum,ip) VALUES ('$erg[0]','$s2',0,'$ipaddr')";

                
    mysql_query($sql2,$conn);
                
                
    //Hier wird, wenn login OK, zur nächsten Seite weitergeleitet,wenn nicht kommt das Formular wieder
                
    echo "<meta http-equiv=\"refresh\" content=\"0;URL=fach.php\">";

                }

                else {
                

                
    ///////////////////
            ///LOG IN FALSCH///
            ///////////////////
                
    @session_destroy();
                      
    //Anfangsformular zum einloggen
                
    echo
                    
    "<form action=\"login2.php\" method=\"post\" name=\"login\">".
                    
    "<font face=\"verdana,arial\" size=2 style=\"{font-size:13.5px}\">".
                    
    "Benutzername:</font><br><input type=\"text\" name=\"name\" size=15 value=\"\" class=\"login\"><br>".
                    
    "<font face=\"verdana,arial\" size=2 style=\"{font-size:13.5px}\">".
                    
    "Passwort:</font><br><input type=\"password\" name=\"pw\" size=15 class=\"login\"><br><br>".
                            
                            
    "<button type=\"submit\" >absenden</button>&nbsp;&nbsp;<button type =\"reset\" >Formular löschen</button>\n".
                    
    "</form>";
                
    //Anfangsformular zum einloggen beendet
           
    }
    ?>
    und das die fach.php

    PHP-Code:

    <html>
    <head>
    <title>Login Testseite</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
                        <style type="text/css">
                       
                 a:link {color:#0033CC; text-decoration:none }
                       a:visited {color:#0033CC; text-decoration:none }
                       a:hover {color:#000000; text-decoration:underline overline }
                       </style>

    </head>

    <body bgcolor="#FFFFFF" text="#000000" topmargin="0" leftmargin="0">

    <?php 
                             
    require("inc/allcon.txt");


                             
    $conn mysql_connect($dbhost,$dbuser,$dbpasswd);

                             
    mysql_select_db($database,$conn);
                             
    /*wie bekomme ich nun hier die Session ID rein
                             die dann $erg heissen soll*/
                             
                             
    print $erg;
                             
    // hier wird nach der SID in der Login DB gesucht und die Daten dazu ausgelesen ( Userid, Ip, Datum )
                             
    $result mysql_query("SELECT * FROM $dbnamel WHERE sessionid = '$erg'");
                             
    $zeile mysql_fetch_array($result);

                             
    //Hier wird mit der USERID die User DB abgefragt und die Rechte ausgelesen
                             
    $usli mysql_query("SELECT * FROM $dbnameu WHERE id = '$zeile[1]'");

                             
    $user Mysql_fetch_array($usli);

                             
    //Hier wird überprüft ob User Rechte hat um diese Seite zu sehen ( 1= Admin )
                             
    if ($user["10"]=="1"){
                         
                         
                             print 
    "sie haben das recht die Seite zu sehen";



                            }
                             else print 
    "sie haben keine Rechte diese Seite zu sehen";
     
    ?>
    Hiiiilllfffeeeee
    Wissen ist MACHT!! nichts wissen macht auch nix

  • #2
    ohne zuende zu lesen, weil hier dauernd die gleichen Fragen kommen, und ich immer denke das hast du schon gelesen:

    dein meta-refresh sieht so aus

    seite.php

    wo übergibst du da die session???

    also seite.php?[[namedersession]]=[[sessionid]]

    so muss das aufgebaut sein. wie du an namen+id kommst, findest (das ergebnis von suchen! ) du im forum oder im manual!
    EDIT:
    ich seh grade, du weißt ja schon, wie du daran kommst. also brauchst du nur anhängen.

    Kommentar


    • #3
      nett

      Das is nett das du so schnell antwortest, aber es wäre doch besser gewesen wenn du weite rgelesen hättest. Mit seite.php?sid hab ich´s schon gemacht!! Das will ich abe rnich, da dann die sid in der URL steht und somit kann die seite von jedem der den Link hat mit der sid wieder angeschaut werden.

      die sid darf nicht zu sehen sein, bei der weitergabe
      Wissen ist MACHT!! nichts wissen macht auch nix

      Kommentar


      • #4
        dann musst du mit cookies arbeiten!

        hier hast du schon eins:

        Kommentar


        • #5
          doof

          Das heisst also du willst mir sagen das ich sonst nich anders an die sid komme??? verdammt aber irgendwie hat sich das so abgezeichnet.

          Ich könnte dann evtl mit nem javascrip ein Formular auslösen das per hidden field die sessid übergibt!!

          Das passt mir ja nicht wirklich, muss aber dann wohl so gehen!!

          ok thanks auch
          Wissen ist MACHT!! nichts wissen macht auch nix

          Kommentar


          • #6
            Tja,

            irgendwo muss die gespeichert werden.

            post, cookie oder get

            post halte ich für umständlich. da musst du ja für jeden link n form machen.

            cookie. ist ganz okay. wenn mans löscht, ist man eben draußen ansonsten sieht man die id nicht. die user die keine cookies aktiviert haben stehet doof da.

            get bevorzuge ich. da kannst du keinen aussperren und geht bei jedem.

            Kommentar


            • #7
              allerdings

              könnte ich die sessid auch irgendwie verwurschteln!! mit PI mal nehmen oder nen cosinus draus ziehen und dann übergeben!! in der DB steht ja was anderes. das muss ich dann in den weiteren seiten nur "entschlüsseln" und fertsch!! dann kann ich das per get übertragen!!

              ODER????
              Wissen ist MACHT!! nichts wissen macht auch nix

              Kommentar


              • #8
                wenn du dadrauf achtest, dass die sid nur aus zahlen besteht, kannst du das machen. aber! was bringt dir das???

                Kommentar


                • #9
                  das bringt

                  folgendes

                  Ich habe die sess id in ner DB stehen. Wenn ich jetzt durch einen Link irgendein Document aufmache muss ich über die sessid in die login db schauen wer sich angemeldet hat und damit überprüfen ob derjenige das recht dazu hat oder nicht.
                  Wenn ich die sid jetzt ganz normal per url übergebe kann ich ja z.b. einen Link kopieren und den kann dann jeder x beliebige aufmachen, da es die sid in der DB ja mit der userid und damit auch dem Recht gibt. und das muss irgendwie sicher umgehen.

                  kannst mir auch gerne nen tip geben wie ich das anders machen kann. Bin für alles, na ja sagen wir für vieles offen.

                  Ich mach das ganze halt für meine Firma und da arbeite ich in einer Entwicklungsabteilung und da gibts einen Haufen ziemlich guter Softwaredesigner. und die sollen nich unbedingt auf die Daten kommen können.
                  Wissen ist MACHT!! nichts wissen macht auch nix

                  Kommentar


                  • #10
                    Wenn ich die sid jetzt ganz normal per url übergebe kann ich ja z.b. einen Link kopieren und den kann dann jeder x beliebige aufmachen, da es die sid in der DB ja mit der userid und damit auch dem Recht gibt. und das muss irgendwie sicher umgehen.
                    wo wäre der unterschied, wenn du die sid verschlüsselst??

                    Ich mach das ganze halt für meine Firma und da arbeite ich in einer Entwicklungsabteilung und da gibts einen Haufen ziemlich guter Softwaredesigner. und die sollen nich unbedingt auf die Daten kommen können.
                    warum machen die dat nicht?

                    wie wollen die an eine aktive sessionid rankommen? sollen die beim nachbarn abschreiben=

                    Kommentar


                    • #11
                      die machen dat net

                      weil die an wichtigen und anderen sachen programmieren. Wir entwickeln hauptsächlich KFZ software. Steuersoftware verwaltung und so zeug bzw Kraftstoffkontrolle und so. Und ich arbeite da im Support und bastel gerade einen Netzwerkplan online, da wir 5 Standorte haben und in der Abteilung ca 1000 Mitarbeiter. Außerdem soll die UserDB nachher ausgebaut werden das man damit Bedarfsanforderungen und so zeugs machen kann.

                      Wenn ich das verschlüssle wäre das ne feine Sache. Mach ich das mit MD5 oder mit Session encode oder sowas??

                      Wie kann ich das dann entschlüsseln??

                      Auf jeden Fall nochmal danke für deine schnellen Antworten

                      EDIT:

                      Ach so jetzt hab ich geschnallt wie du das meinst. Ich schreibe die Sid unverschlüsselt in die DB und verschlüssle sie nur in der Url. Dann muss derjenige erstma wissen wie ich die verschlüsselt hab um da ran zu kommen.



                      EDIT:


                      wie lange is denn die SID aktiv?? bzw. eigentlich is sie so lange aktiv wie sie in der db steht!! das is wohl das prob an der geschichte

                      Zuletzt geändert von supportkiller; 09.09.2003, 23:44.
                      Wissen ist MACHT!! nichts wissen macht auch nix

                      Kommentar


                      • #12
                        kannst mir ja mal die firma sagen, dann kann ich das zu den referenzen packen

                        nun, dein pi mal cos wäre ja auch ne verschlüsselung. aber ich frage dich nochmal, was soll dir das bringen, wenn du das machst? die verschlüsselte id wird doch genauso behandelt, wie die normale, nur dass da vorher und nacher noch ne kleine routine kommt, die aber eigentlich nicht viel macht. und an der funktion der id nichts ändert.

                        Kommentar


                        • #13
                          klar ändert sich....

                          Au mann bin ich doooof

                          hatte da einen kleinen Merkfehler dazwischen. OK ich denk mal ich geh ne runde probehängen im Wald.

                          Na ja war wohl zu viel kaffee heute.

                          Ich arbeite bei T-Systems. Bin allerdings Werkstudent und programmiere das gerade als Studienarbeit. Leider machen wir in der Firma gar nix mit PHP, deshalb hab ich zwar klasse Programmiere um mich rum, aber keiner der sich mit "HTML", na wenn ich basierendenden Sprachen schreibe stimmt das ja nich, aber ´Sprachen wie PHP oder Perl oder so werden bei uns nich benutzt. Da geht das meiste über assembler oder JAVA oder C/C++.

                          Ich denke mal ich komme da nur drumrum wenn ich die sessid mit nem JAVASCRIPT und POST übergeb!! sonst is wohl nix zu machen.

                          danke nochmals

                          bis denne
                          Wissen ist MACHT!! nichts wissen macht auch nix

                          Kommentar


                          • #14
                            wenn das ehn ur intern is, dann sorg einfach dafür (falls noch nicht geschehen) dass cookies aktiv sind, oder probier dich mal an ssl (wenn du's nur intern machst musst du ja auch nich jährlich für das zertifikat zahlen)
                            Ich denke, also bin ich. - Einige sind trotzdem...

                            Kommentar


                            • #15
                              cookis aktiv ==&gt;

                              Oh nein das kannst du vergessen

                              Da sind unsere User zu schwierig dazu. Wir haben da schon ein paar ganz besondere. Außerdem stehen ca 1000 Rechner rum.

                              SSH?? Muss ich mich mal mit befassen.

                              bis denne
                              Wissen ist MACHT!! nichts wissen macht auch nix

                              Kommentar

                              Lädt...
                              X