suchen

Heim  >  Fragen und Antworten  >  Hauptteil

php - Wie implementiert Laravel Load Balancing die CSRF-Verteidigung?

Laravel aktiviert csrf standardmäßig und verwendet csrf_token(), um eine zufällige Zeichenfolge zu generieren und diese im Browser und in der Sitzungsdatei zu speichern. Suchen Sie dann die entsprechende Sitzungsdatei basierend auf dem vom Browser zurückgegebenen Cookie und rufen Sie das Token zum Vergleich ab Es liegt ein Problem vor. Wenn Sie den Lastausgleich verwenden und mehrere Server konfigurieren, können Sie das Token nicht über die auf dem Server gespeicherte Sitzungsdatei abrufen. Wie kann die CSRF-Verteidigung von Laravel verwendet werden? Sitzungsdateifreigabe? Dieses Problem lösen? Wenn ja, wie richtet man es auf Nginx ein?

phpcn_u1582phpcn_u15822734 Tage vor984

Antworte allen(2)Ich werde antworten

  • 黄舟

    黄舟2017-06-05 11:11:22

    session入库,入库后就能共享了

    Antwort
    0
  • 为情所困

    为情所困2017-06-05 11:11:22

    这和 nginx 没有什么关系, 你需要的是修改 Session Driver

    
        /*
        |--------------------------------------------------------------------------
        | Default Session Driver
        |--------------------------------------------------------------------------
        |
        | This option controls the default session "driver" that will be used on
        | requests. By default, we will use the lightweight native driver but
        | you may specify any of the other wonderful drivers provided here.
        |
        | Supported: "file", "cookie", "database", "apc",
        |            "memcached", "redis", "array"
        |
        */
    
        'driver' => env('SESSION_DRIVER', 'file');

    Antwort
    0
  • StornierenAntwort