注销路由上的Laravel中间件 - 通过HTTP协议删除浏览器的缓存

时间:2018-06-04 12:54:28

标签: laravel http

  

TL; DR:功能正常。我仍然需要连接注销路由中间件,它在注销时不起作用。 dd() 不是是对中间件的正确测试,退出后按后退按钮不起作用,因为缓存的标头被删除 - 是正确的测试。

我使用以下中间件来避免浏览器的后退按钮在用户注销后发送回缓存,这是一个安全问题,即使无法对访问服务器进行任何操作,仍然可以显示敏感信息。

我正在使用的功能(多次踩踏以确保缓存已死...)

public function handle($request, Closure $next)
{
    $response = $next($request);

    return $response->header('Cache-Control','nocache, no-store, max-age=0, must-revalidate')
        ->header('Pragma','no-cache')
        ->header('Expires','Fri, 01 Jan 1990 00:00:00 GMT');
}

我正在尝试将其作为$routeMiddleware Http/Kernel.phpweb.php中的Route::get('logout', 'Auth\LoginController@logout')->name('logout')->middleware('invalidate');进行连接,如下所示:

Route::middleware(['invalidate'])->group(function () { Route::get('logout', 'Auth\LoginController@logout')->name('logout'); });

哪个不起作用(仍然可以返回查看)所以我也尝试过:

$middlewareGroups

这也行不通。

然而,如果我在$middlewareGroups下注册中间件,它的工作原理很完美,但我不确定这个函数是否也会影响Laravel的其他缓存方法,从根本上减轻服务器负载并增加响应时间,例如,缓存用户会话,laravel可以使用更多的开箱即用缓存,而且还有许多其他基本包使用。

请告诉我是否可以将其放在fname_model = folder+"/my_modelbuy_rocbased.h5" best_model = load_model(fname_model) best_model.compile(loss='categorical_crossentropy', optimizer='Adam', metrics=['acc']) X_test_orig = pd.read_csv(folder+"/ret_out_20170402.csv",sep=",") x_test = X_test_orig.as_matrix() y1=np.array([x_test[1]]) print y1.shape t1=datetime.now().strftime("%H:%M:%S.%f") for i in range(0,100,1): prob1= best_model.predict_proba(y1) t2=datetime.now().strftime("%H:%M:%S.%f") print "time taken ", t1,t2 下,或者我在登出路线后跟踪它的错误。\

由于

0 个答案:

没有答案