php - laravel 負載平衡如何實現csrf防禦?
phpcn_u1582
phpcn_u1582 2017-06-05 11:09:22
0
2
989

laravel預設開啟csrf,使用的是csrf_token()產生一個隨機字串保存在瀏覽器和session檔案中.然後根據瀏覽器傳回的cookie來找到對應的session檔,取得其中的token進行比較.
但是問題是如果使用負載平衡,配置幾台伺服器,就無法透過保存在伺服器上的session檔案來取得token進行驗證,多台伺服器對應一個網站,如何使用laravel的csrf防禦呢?是不是可以設​​定session檔案共用來解決這個問題?如果是的話,nginx上應該如何設定呢?

phpcn_u1582
phpcn_u1582

全部回覆(2)
黄舟

session入庫,入庫後就能共享了

为情所困

這和 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');
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板