Session von anderem Server prüfen

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

  • Session von anderem Server prüfen

    Hallo,

    Problem:
    Wie überprüfe ich am besten von ServerB aus, das auf ServerA eine Session vorhanden ist?

    Lösungsansatz:
    Ich habe auf ServerA eine Session für einen User erzeugt.
    Dann klickt der User auf einen Link, welchen ihn auf ServerB weiterleitet. An der URL hänge ich eine Variable an, wo der Benutzername/ID drinsteht, welchen ich zuvor in die Session geschrieben habe, jetzt wird von ServerB aus ein PHP-Script auf ServerA ausgeführt, welcher mir einen return Wert liefert, ob dieser Benutzername/ID in der Session vorhanden ist.

    Frage:
    Unsinnig? Sicherheitsrisiko? Falscher Ansatz?

  • #2
    Es ist wesentlich Sinnvoller wenn die Sessions zwischen den Servern ausgetauscht werden.
    Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

    Kommentar


    • #3
      und wie genau funktioniert diese methode?

      die SID rübersenden und die Session drüben mit Benutzername etc. neu aufnehmen?

      Kommentar


      • #4
        die SID rübersenden und die Session drüben mit Benutzername etc. neu aufnehmen?
        und wieso sollte Server B anhand der SID irgendwelche Werte hevorzaubern können ? Server B kennt die Session ID nicht
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • #5
          hmm ja, war unkomplett die antwort...

          aber wie soll der austausch nun funktionieren?

          Kommentar


          • #6
            Es gibt verschiedene Lösungen, sharedance z.B. erledigt sowas.
            Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

            Kommentar


            • #7
              ehm ich habe im google nach folgenden keys gesucht:
              php + session + mehrere + server + austausch

              da kam nur müll....

              aber danke für die antwort.

              Kommentar


              • #8
                Original geschrieben von tontechniker
                Es gibt verschiedene Lösungen, sharedance z.B. erledigt sowas.
                Selbst wenn dir das nicht gefällt, kannst du ja wohl Google mit "sharedance alternative" benutzen.

                Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                Wie man Fragen richtig stellt

                Kommentar


                • #9
                  ehm....ja natürlich

                  wenn man zuvor sharedance kennt ;-)

                  Kommentar


                  • #10
                    Server B:
                    PHP-Code:
                    <?php
                    if (isset($_GET['asid'])) {
                        
                    session_id('A_'.$_GET['asid']);
                        
                    session_start();
                        
                    $_SESSION unserialize(file_get_contents('http://'.$a.'/sid.php?sid='.$_GET['asid']));
                        
                    // ...
                    }
                    ?>
                    Server A, sid.php:
                    PHP-Code:
                    <?php
                    if (isset($_GET['sid'])) {
                        
                    session_id($_GET['sid']);
                        
                    session_start();
                        echo 
                    serialize($_SESSION);
                    }
                    ?>
                    Das eignet sich natürlich nur für den kleinen Hausgebrauch und sollte selbst dann vor unbefugtem Zugriff oder manipulierten URL-Parametern geschützt werden. Ist nur ein Ansatz.

                    Kommentar


                    • #11
                      naja, man könnte ja auch problemlos eine datenbank-session machen, einfach den session-handler überschreiben und schon können beliebig viele server auf die selbe session zugreifen.

                      grüße
                      axo

                      Kommentar

                      Lädt...
                      X