Articles of csrf

在Express中生成_csrf?

我是新手。 我正在使用一个浏览器插件,点击我的节点服务器,并需要一个csrf标记。 我所拥有的不是产生任何东西: app.use(express.csrf()); app.dynamicHelpers({ token: function(req, res) { return req.session._csrf; } }); …然后我在我的玉文件中引用标记 input(type="hidden", token=token) 我不明白什么应该是生成令牌 – 猜测连接。 无论我看不到一个价值。 尝试console.log(令牌)以及/ /未定义 我在这里提出了这个问题,并使其工作,但现在不是升级到节点.67和更新模块后。 如何在Express中生成CSRF令牌? 任何帮助他的运气好的人? 🙂

用于快速/连接的Ajax兼容中间件

正如它在标题中所说,我正在寻找express.js或连接的中间件,这将使我能够发出csrf请求。 连接中的csrf-middleware为每个请求创build一个新的令牌,这使得通过Ajax进行POST请求不是很容易。

TypeError:无法在Object.handle中读取未定义属性'csrfSecret' – 使用Node.js

我正在制作一个简单的networking应用程序,并尝试添加身份validation。 一切工作正常(分开),直到我试图合并authentication页面与应用程序,并收到此错误消息: “TypeError:无法读取在Object.handle(C:Project \ node_modules \ express \ node_modules \ connect \ node_modules \ csurf \ index.js:46:29)undefined属性'csrfSecret'…” 这里是app.js中的代码,也许你会看到问题的根源在哪里。 var flash = require('connect-flash'); var express = require('express'); var app = express(); app.use(function(req, res, next) { req.db = {}; req.db.tasks = db.collection('tasks'); next(); }) app.locals.appname = 'Name of App' var port = process.env.PORT || 8080; var mongoose […]

Braintree与csrf webhooks不工作

我用braintree付款,一切正常。 我的代码如下所示: app.post("/create_customer", function (req, res) { var customerRequest = { firstName: req.body.first_name, lastName: req.body.last_name, creditCard: { number: req.body.number, cvv: req.body.cvv, expirationMonth: req.body.month, expirationYear: req.body.year, billingAddress: { postalCode: req.body.postal_code } } }; gateway.customer.create(customerRequest, function (err, result) { console.log(result); if (result.success) { res.send( "<h1>Customer created with name: " + result.customer.firstName + " " + result.customer.lastName + […]

在CSRF保护下构buildnode.js服务器,移动应用程序如何接收CSRF令牌?

我使用node.js来表示构build一个简单的服务器,其中CSRF正在通过快速框架实现。 app.use(express.csrf()); app.use(function(req, res, next){ res.locals.token = req.session._csrf; res.locals.year = new Date().getFullYear(); next(); }); Connect CSRF中间件自动生成req.session._csrf标记,并且该函数将其映射到res.locals.token,以便从ejs创build模板。 这适用于Web应用程序。 但是当涉及到我的android的移动应用程序,例如login,只发送用户名和密码没有CSRF令牌将导致服务器拒绝请求。 因为前面的代码只适用于web模板,所以我的问题是如何在android应用程序中接收这个令牌 最好的rgds西安

KrakenJS:通过控制器执行POST请求以错误结束

我正在使用KrakenJS来构build一个Web应用程序。 作为MVC,我正在通过控制器实现一个REST服务,下面是一个示例代码: //users can get data app.get('myRoute', function (req, res) { readData(); }); //users can send data app.post('myRoute', function (req, res) { writeData(); }); 我可以读取没有问题的数据。 但是,当我尝试用POST请求尝试虚拟数据插入时,最终出现此错误: 错误:Forbidden 127.0.0.1 – – [Thu,06 Feb 2014 00:11:30 GMT]“POST / myRoute HTTP / 1.1”500 374“ – ”“Mozilla / 5.0(X11; Linux x86_64)AppleWebKit / 537.36(KHTML,像Gecko)Ubuntu Chromium / 32.0.1700.102 Chrome / 32.0.1700.102 […]

注销并获取新/ csrfToken后,SailsJS CSRF不匹配

我正在创build单页面应用程序。 我创build了login注销操作,他们工作正常。 但是,如果用户注销并且不会刷新浏览器中的页面,则由于“CSRF不匹配”错误而无法再次login。 脚步: 1.在第一次加载页面时,csrf是view local: <div class="app" id="app" data-csrf="<%= _csrf %>"></div> 2.用户使用此令牌成功login: 420["post",{"method":"post","headers":{},"data":{"_csrf":"VHcT2F44-KhZMJmhcAVB1H69BgTMWMZji9_8","login":"alex","password":"123"},"url":"http://127.0.0.1:1337/login"}] 430[{"body":{"id":"560e5756cd01633407eea8be"},"headers":{cut headers},"statusCode":200}] 3.然后,用户使用此令牌注销: 421["post",{"method":"post","headers":{},"data":{"_csrf":"VHcT2F44-KhZMJmhcAVB1H69BgTMWMZji9_8"},"url":"http://127.0.0.1:1337/logout"}] 431[{"body":"ok","headers":{cut headers},"statusCode":200}] 4.如果他再次尝试login,他会发现“CSRF不匹配”错误,我期望: 422["post",{"method":"post","headers":{},"data":{"_csrf":"VHcT2F44-KhZMJmhcAVB1H69BgTMWMZji9_8","login":"alex","password":"123"},"url":"http://127.0.0.1:1337/login"}] 432[{"body":"CSRF mismatch","headers":{},"statusCode":403}] 5.我正在捕获这个错误,并按照文档中的说法执行/ csrfToken请求 423["get",{"method":"get","headers":{},"data":{},"url":"/csrfToken"}] 433[{"body":{"_csrf":"49C5OVUZ-6SIL_zW3g1NGI87ux6Mlp-UJj_w"},"headers":{cut headers},"statusCode":200}] 6.尝试使用新令牌重新login: 424["post",{"method":"post","headers":{},"data":{"_csrf":"49C5OVUZ-6SIL_zW3g1NGI87ux6Mlp-UJj_w","login":"alex","password":"123"},"url":"http://127.0.0.1:1337/login"}] 434[{"body":"CSRF mismatch","headers":{},"statusCode":403}] 我可以用相同的结果重复步骤5和6。 如果我刷新页面,我可以无误地login。 问题是,发生了什么事? 为什么步骤6中的标记不匹配? 编辑:注销方法: req.session.destroy(); return res.send("ok"); 编辑2:发送请求: import socketIOClient from 'socket.io-client'; import sailsIOClient from 'sails.io.js'; var io = sailsIOClient(socketIOClient); io.socket.post(form.action, […]

sailsjs的CSRF问题

我在sails.js的csrf上遇到了一些麻烦,我激活它,并创build像sailsjs文档中的隐藏字段,但是当我提交表单时,我总是得到这个响应: Error: Forbidden at Object.exports.error (/Users/matheus/Development/javascript/activity_overlord/node_modules/sails/node_modules/express/node_modules/connect/lib/utils.js:62:13) at createToken (/Users/matheus/Development/javascript/activity_overlord/node_modules/sails/node_modules/express/node_modules/connect/lib/middleware/csrf.js:82:55) at /Users/matheus/Development/javascript/activity_overlord/node_modules/sails/node_modules/express/node_modules/connect/lib/middleware/csrf.js:48:24 at routes.before./* (/Users/matheus/Development/javascript/activity_overlord/node_modules/sails/lib/hooks/csrf/index.js:26:28) at _bind.enhancedFn (/Users/matheus/Development/javascript/activity_overlord/node_modules/sails/lib/router/bind.js:375:4) at callbacks (/Users/matheus/Development/javascript/activity_overlord/node_modules/sails/node_modules/express/lib/router/index.js:164:37) at param (/Users/matheus/Development/javascript/activity_overlord/node_modules/sails/node_modules/express/lib/router/index.js:138:11) at pass (/Users/matheus/Development/javascript/activity_overlord/node_modules/sails/node_modules/express/lib/router/index.js:145:5) at nextRoute (/Users/matheus/Development/javascript/activity_overlord/node_modules/sails/node_modules/express/lib/router/index.js:100:7) at callbacks (/Users/matheus/Development/javascript/activity_overlord/node_modules/sails/node_modules/express/lib/router/index.js:167:11) 有人可以帮我find解决办法? 我认为这是一件简单的事情,我只是不知道这是什么“简单的事情”

Node – Express 4 csrf

随着Express 4连接的曙光不再是依赖。 我无法在快递网站上find任何新的csrf实施。 旧的方式是app.use(express.csrf()); 然后添加一个中间件函数来在视图中显示它。 我的问题是:我现在不得不把连接作为一个依赖项,或者是有一些现在expression的东西,允许我错过了csrf? 或者我可以只包含csrf的来源到我的应用程序?

如何在express3中启用csrf?

一般来说,我很新的expression和nodejs。 我不知道如何启用csrf保护? 问题在于,对于不同的版本,有很多不同的教程,而且完全不能反向兼容。 我已经尝试了几种方法,而且他们似乎没有工作,这是我现在拥有的。 问题是在我的表单中,csrf值是空的。 app.js var express = require('express'); var http = require('http'); var path = require('path'); var validator = require('express-validator'); var app = express(); app.configure(function() { app.set('port', 3001); app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'jade'); app.use(express.favicon()); app.use(express.logger('dev')); app.use(express.json()); app.use(express.urlencoded()); app.use(express.methodOverride()); app.use(express.cookieParser('secret')); app.use(express.bodyParser()); app.use(validator()); app.use(express.session()); app.use(express.csrf()); // Okey, I've used this middleware app.use(app.router); app.use(express.static(path.join(__dirname, 'public'))); […]