【问题标题】:How to make correct logout?如何正确注销?
【发布时间】:2019-01-19 10:15:50
【问题描述】:

我通过post方法注销并将响应重定向到主页,但是要获取主页的html我需要使用get方法。

我应该如何正确地从post 重定向到get? 或者有没有更合适的退出方式?

我为此使用 Slim v3 框架,它不允许从一种方法重定向到另一种方法。

$app->get('/', function (Request $request, Response $response) {
    return $this->renderer->render($response, 'index.phtml');
});

$app->post('/logout', function (Request $request, Response $response) {
    return $this->model->logout($response)->withRedirect("/", 308);
});

据我所知,通过POST 方法注销并通过GET 获取html 页面是最佳做法。

【问题讨论】:

    标签: php slim logout


    【解决方案1】:

    使用响应码302,它会自动使用GET

    308 保留请求方法。见https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/308

    302 Found 这样的非缓存重定向在您的情况下也更可取,而不是像 301/308 这样的永久重定向。

    【讨论】:

    • 是的,根据建议,永久重定向可能会绕过您的路线 - 由于浏览器缓存。
    • 感谢您的帮助!
    • @Progrock 我不能给你投票,因为只有 7 个声望 :( 但谢谢你
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-14
    • 2015-12-28
    • 1970-01-01
    • 2015-08-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-04
    相关资源
    最近更新 更多