В чем практическая разница между res.clearCookie () и req.session.destroy ()? - PullRequest
0 голосов
/ 28 сентября 2019

Я использую node.js с пакетами express и express-session для тестирования различных реализаций CRUD.

В чем практическая разница между res.clearCookie() и req.session.destroy()?

Оба приведенных ниже кодовых шаблона, кажется, выполняют одно и то же, но мне интересно, упускаю ли я что-то важное.

Кодовый шаблон 1:

router.post('/logout', function(req, res, next) {
    req.session.destroy( function(error) {
        if(error) {
            console.log(error);
        }
        res.redirect('/');
    });
});

Кодовый шаблон 2:

router.post('/logout', function(req, res, next) {
    res.clearCookie(SESSION_NAME);
    res.redirect('/');
});

1 Ответ

3 голосов
/ 28 сентября 2019

res.clearCookie() просто удалит cookie, и если вы сможете каким-либо образом восстановить cookie (если у вас была резервная копия или кто-то украл ее), вы снова войдете в систему (или независимо от функциональности cookie).Если вы используете req.session.destroy(), сеанс также будет недействительным на сервере, поэтому, даже если вы вернули cookie, вы не получите обратно сеанс.

...