CNode

Express 3.x 的 csrf 怎么搞?

Aalexbian发布于14 年前最后回复13 年前6 回复7601 浏览0 收藏

RT。发现3.X里面删掉了这一方法,找了个中间件express-csrf还是基于2.X的。

请问哪位做过的呀,谢谢!

查看回复

回复 (6)

C
czing#1·14 年前
 app.use(express.csrf());
 app.use(function(req,res,next){
      res.locals.token = req.session._csrf;
      next()
  });
A
alexbian#3·14 年前
引用 czingapp.use(express.csrf()); app.use(function(req,res,next){ res.locals.token = req.session. csrf; n...

查到了,原来用法不一样了。

var express = require('express');

app.configure(function(){
  ...
  app.use(express.csrf());
});

这个中间件需要session支持,因此它的代码应该放在session()之后.

S
seasonx4#4·14 年前

这是啥

A
alexbian#5·14 年前
引用 seasonx4这是啥

防跨站攻击

J
jyg0124#6·13 年前
        //cookie
        app.use(express.cookieParser());
        //session
        app.use(express.session({
            secret:config.session_secret,
            store: new mongoStore({
                url: config.mongodb,
                collection : 'sessions'
            })
        }));
        
        app.use(express.csrf());
        
        app.use(function(req, res, next){
            res.locals.req = req;
            res.locals.session = req.session;
            res.locals.csrf = req.session ? req.session._csrf : ''
            next();
        });

我的_csrf一直在变化着的呢?我看cnodejs网站和其他网站,都没变化,求解。。

参与回复
登录后即可参与回复。登录