什么是Node.js连接会话()参数中的安全选项

我正在通过以下Connect示例工作:

 var connect = require ('connect'); var timeout = 30000; // session timeout: 30 seconds var sessionOpts = { secret: 'keyboard cat', key: 'myapp_sid', cookie: { maxAge: timeout, secure: true} /*Example doesn't work with secure?*/ }; var app = connect () .use (connect.favicon()) .use (connect.cookieParser ('keyboard cat')) .use (connect.session(sessionOpts)) .use (function (req, res, next) { var sess = req.session; if (sess.views) { res.setHeader ('Content-Type', 'text/html'); res.write ('<p>views: ' + sess.views + '</p>'); res.end(); sess.views++; } else { sess.views = 1; res.end ('welcome to the session demo. refresh!'); } }) .listen (3000); 

当我去的网站,如果cookie选项不包括secure: true那么视图的数量增加,并在30秒后重置。 当我包含安全选项时,会话不再停留约30秒,它会重置每个刷新。

Connect的会话中间件有什么安全选项,以及如何使用它?

secure参数设置HTTP cookie的安全标志 :

安全标志的目的是为了防止未经授权的人员以明文forms传输cookie。 为了实现这个目标, 当请求转到HTTPS页面时 ,支持安全标志的浏览器将只发送带有安全标志的cookie 。 换句话说, 浏览器将不会发送一个cookie,并在未encryption的HTTP请求上设置安全标志。

在您的情况下,安全cookie可能根本不会被发送,因为您不是通过HTTPS提供页面。