相关疑难解决方法(0)

Node.js和Express会话处理 - 后退按钮问题

我的Express应用程序中有一个禁区"/仪表板".我使用一个非常小的函数来限制访问:

app.get('/dashboard', loadUser, function(req, res){
  res.render('dashboard', {
    username: req.session.username
  });
});

function loadUser(req, res, next){
  if (req.session.auth) {
    next();
  } else {
    res.redirect('/login');
  }
};
Run Code Online (Sandbox Code Playgroud)

问题是当我通过调用注销用户时...

app.get('/logout', function(req, res){
  if (req.session) {
    req.session.auth = null;
    res.clearCookie('auth');
    req.session.destroy(function() {});
  }
  res.redirect('/login');
});
Run Code Online (Sandbox Code Playgroud)

...会话被杀死但是当我在浏览器中点击Back Button时,我从浏览器的缓存中获得了受限制的页面.这意味着'/ dashboard'上没有GET,也没有用户登录验证.

我尝试在元(Jade模板)中使用no-cache,但它仍然不起作用.

meta(http-equiv='Cache-Control', content='no-store, no-cache, must-revalidate')
meta(http-equiv='Pragma', content='no-cache')
meta(http-equiv='Expires', content='-1')
Run Code Online (Sandbox Code Playgroud)

任何人?

session node.js express

17
推荐指数
2
解决办法
2万
查看次数

浏览器后退按钮显示缓存中的页面?

当我从wordpress网站注销时,它将被重定向到登录页面.但问题是,如果我点击浏览器后退按钮,它将显示上一页,需要授权.我知道,页面正在从浏览器缓存中加载,并且没有与服务器进行任何交互.但是如果用户点击浏览器后退按钮,我需要强制页面重新加载.

我确实检查了标题,我可以找到以下内容

Cache-Control:  no-cache, must-revalidate, max-age=0
Run Code Online (Sandbox Code Playgroud)

我也尝试添加以下元标记,但它不起作用.

<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
Run Code Online (Sandbox Code Playgroud)

请帮忙

javascript php wordpress browser-cache

7
推荐指数
1
解决办法
1万
查看次数

标签 统计

browser-cache ×1

express ×1

javascript ×1

node.js ×1

php ×1

session ×1

wordpress ×1