Ankündigung

Einklappen
Keine Ankündigung bisher.

Laravel 8: Session-Problem (Middleware)

Einklappen

Neue Werbung 2019

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

  • Laravel 8: Session-Problem (Middleware)

    Hi,

    Ich möchte eine Sitzung aus einem anderen Programm (nicht Laravel) in eine Laravel-Sitzung über eine Middleware geben.

    Ich bekomme die Meldung, dass es sich um eine unbekannte Variable ($_Session) handelt.

    Leider funktioniert das nicht so wie ich dachte. Haben Sie eine Idee?

    Ist es vielleicht es Sicherheitsthema bei Laravel? Wenn ja, was muss ich anpassen, damit ich externe $_Session in Laravel verarbeiten kann?

    PHP-Code:
    <?php

    namespace App\Http\Middleware;

    use 
    Closure;
    use 
    Illuminate\Http\Request;
    use 
    Illuminate\Support\Facades\Session;

    class 
    AccessSec
    {
        
    /**
         * Handle an incoming request.
         *
         * @param  \Illuminate\Http\Request  $request
         * @param  \Closure(\Illuminate\Http\Request): (\Illuminate\Http\Response|\Illuminate\Http\RedirectResponse)  $next
         * @return \Illuminate\Http\Response|\Illuminate\Http\RedirectResponse
         */
        
    public function handle(Request $requestClosure $next)
        {
            If(isset(
    $_Session['data'])) :
                
    Session::put('data',$_Session['data'] );
            else :
                echo 
    "Fehler !";
                exit();
            endif;

            return 
    $next($request);
        }
    }

  • #2
    Ich weiß jetzt nicht genau wie das bei Laravel ist, aber die super globale Variable für die Session heißt $_SESSION und nicht $_Session.

    PHP-Code:
            If(isset($_SESSION['data'])) :
                
    Session::put('data',$_SESSION['data'] );
            else : 
    Darüber hinaus musst du daran denken, dass der Session Cookie in der Regel auf die Domain gebunden ist. Das heißt beide Anwendungen müssen über die selbe Domain erreichbar sein.

    Kommentar


    • #3
      Das Script was die $_SESSION erzeugt und das Laravel-Script liegen auf der gleichen Domain….

      Kommentar


      • #4
        Zitat von CodeNinja71 Beitrag anzeigen
        Das Script was die $_SESSION erzeugt und das Laravel-Script liegen auf der gleichen Domain….
        Und hat es was geholfen die Session Variable korrekt zu schreiben? $_SESSION und nicht $_Session

        Kommentar


        • #5
          Session:: wird in Laravel so geschrieben }

          Kommentar


          • #6
            Session:: ist aber was anderes als $_Session

            Kommentar


            • #7
              Zitat von CodeNinja71 Beitrag anzeigen
              Session:: wird in Laravel so geschrieben }
              Dann schau mal hier rein. Neben diversen Methoden mit den Namen session gibt es noch eine globale funktion session(). $_SESSION ist eine globale (native) PHP-Variable und die wird nun mal gross geschrieben.

              Kommentar

              Lädt...
              X