
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
A session solution for mult language development,it support the php session and others.
** it fork from session ** and i delete the session signature to compatible with the php session handler
Setup session store with the given options.
Session data is not saved in the cookie itself, however
cookies are used, so we must use the cookieParser()
middleware before session().
app.use(connect.cookieParser())
app.use(onesession({ secret: 'keyboard cat', key: 'sid', cookie: { secure: true }}))
Options
key cookie name defaulting to connect.sidstore session store instancesecret session cookie is signed with this secret to prevent tamperingcookie session cookie settings, defaulting to { path: '/', httpOnly: true, maxAge: null }proxy trust the reverse proxy when setting secure cookies (via "x-forwarded-proto")Cookie options
By default cookie.maxAge is null, meaning no "expires" parameter is set
so the cookie becomes a browser-session cookie. When the user closes the
browser the cookie (and session) will be removed.
To store or access session data, simply use the request property req.session,
which is (generally) serialized as JSON by the store, so nested objects
are typically fine. For example below is a user-specific view counter:
app.use(cookieParser())
app.use(onesession({ secret: 'keyboard cat', cookie: { maxAge: 60000 }}))
app.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.write('<p>expires in: ' + (sess.cookie.maxAge / 1000) + 's</p>');
res.end();
sess.views++;
} else {
sess.views = 1;
res.end('welcome to the session demo. refresh!');
}
})
To regenerate the session simply invoke the method, once complete
a new SID and Session instance will be initialized at req.session.
req.session.regenerate(function(err){
// will have a new session here
});
Destroys the session, removing req.session, will be re-generated next request.
req.session.destroy(function(err){
// cannot access session here
});
Reloads the session data.
req.session.reload(function(err){
// session updated
});
Save the session.
req.session.save(function(err){
// session saved
});
Updates the .maxAge property. Typically this is
not necessary to call, as the session middleware does this for you.
Each session has a unique cookie object accompany it. This allows
you to alter the session cookie per visitor. For example we can
set req.session.cookie.expires to false to enable the cookie
to remain for only the duration of the user-agent.
Alternatively req.session.cookie.maxAge will return the time
remaining in milliseconds, which we may also re-assign a new value
to adjust the .expires property appropriately. The following
are essentially equivalent
var hour = 3600000;
req.session.cookie.expires = new Date(Date.now() + hour);
req.session.cookie.maxAge = hour;
For example when maxAge is set to 60000 (one minute), and 30 seconds
has elapsed it will return 30000 until the current request has completed,
at which time req.session.touch() is called to reset req.session.maxAge
to its original value.
req.session.cookie.maxAge;
// => 30000
Every session store must implement the following methods
.get(sid, callback).set(sid, session, callback).destroy(sid, callback)Recommended methods include, but are not limited to:
.length(callback).clear(callback)FAQs
A session solution for mult language development,it support the php session and others.
We found that onesession demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.