xorg1990
New member
Ich habe ein echt nerviges Problem bei meinem Login System.
Ich werde nach einer Zufälligen zeit aus den System ausgeloggt, meist nach ein paar sec.
Mach mal klappt es aber auch.
login route:
Interessant ist nur:
oben habe ich noch folgendes stehen:
Da wollte ich das cookie zurücksetzen wenn man von der Hauptseite kommt weil ich dort eine User counter mit ip sperre habe.
Aber wie setzt man das Cookie richtig zurück.
Delete oder req.session.cookie.maxAge = null; oder req.session.cookie.maxAge = false ??
Vollständigkeitshalber der Counter mit ip sperre
es ist auch egal ob
Ich nutze express4.x mit express-session-middleware
Ich nutze den standart memory Store, reicht für lokale Anwendung und 10 user.
Die Initialisierung:
An den user counter liegt es nicht, das habe ich schon Auskommentiert gehabt.
Mansch mal liegt es der reinfolge der Initialisierung.
Das Problem macht mich echt wild
Für konstruktive Vorschläge wäre ich sehr, sehr, dankbar.
Ich werde nach einer Zufälligen zeit aus den System ausgeloggt, meist nach ein paar sec.
Mach mal klappt es aber auch.
login route:
Code:
app.post("/login", function(req, res) {
var userName = req.body.email;
var pass = req.body.password;
var remember = req.body.remember;
//cookie zrücksetzen
if(req.session.cookie.maxAge !== null){
delete req.session.cookie.maxAge;
delete req.session.cookie.expires;
//req.session.cookie.maxAge = null;
//req.session.cookie.expires = false;// or null
}
athenticate(req.body.email, req.body.password, function(err, id, callsign) {
if (err) {
return modifyForms("login", err.message, function(err, result) {
if (err) {
res.send(err);
} else {
res.send(result);
}
})
} else {
if (id) {
checkConfirmed(callsign, function(err) {
if (err) {
return modifyForms("login", err.message, function(result) {
res.send(result);
});
} else {
if (remember) {
var hour = 60 * 60 * 1000;
req.session.cookie.expires = new Date(Date.now() + hour);
req.session.cookie.maxAge = hour;
}
req.session.callsign = callsign;
req.session.uid = id;
res.redirect('profile?tab=dashboard');
}
});
} else {
req.session.error = "Login failed, try again";
res.redirect('login');
} //if id
}
});
});
Code:
if (remember) {
var hour = 60 * 60 * 1000;
req.session.cookie.expires = new Date(Date.now() + hour);
req.session.cookie.maxAge = hour;
}
req.session.callsign = callsign;
req.session.uid = id;
res.redirect('profile?tab=dashboard');
}
oben habe ich noch folgendes stehen:
Code:
if(req.session.cookie.maxAge !== null){
delete req.session.cookie.maxAge;
delete req.session.cookie.expires;
//req.session.cookie.maxAge = null;
//req.session.cookie.expires = false;// or null
}
Aber wie setzt man das Cookie richtig zurück.
Delete oder req.session.cookie.maxAge = null; oder req.session.cookie.maxAge = false ??
Vollständigkeitshalber der Counter mit ip sperre
Code:
app.get("/", tracker, function(req, res) {
//counter stuff
var ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress;
var hour = 60 * 60 * 1000 * 8; //8 Stunden
//wenn user eingelogt gehe nicht in die couter
if (!req.session.uid) {
//wenn ip noch nicht vorhanden zähle user
if (!req.session.ip || req.session.ip !== ip) {
fs.readFile(__dirname+"/counts.txt", "utf8", function(err, data) {
var wstream = fs.createWriteStream(__dirname+"/counts.txt", "utf8");
if (err) {
throw err;
}
var counts = parseInt(data.split("\n")[0]); //nur erste zeile
counts += 1;
wstream.end(String(counts));
});
req.session.ip = ip;
req.session.cookie.expires = new Date(Date.now() + hour);
req.session.cookie.maxAge = hour;
clicksToDay += 1;
}
}
....
......
if (remember) true ist. Ich nutze express4.x mit express-session-middleware
Ich nutze den standart memory Store, reicht für lokale Anwendung und 10 user.
Die Initialisierung:
Code:
var session = require("express-session");
var memoryStore = new session.MemoryStore();
var sessionOptions = {
store: memoryStore,
secret: "*******",
saveUninitialized: false,
proxy: true,
resave: true,
cookie: {
secure: false
}
};
app.use("/piwik/plugins", express.static(__dirname + "/phpdocs/piwik/plugins"));
app.use("/piwik/libs", express.static(__dirname + "/phpdocs/piwik/libs"));
app.use("/adminer/images", express.static(__dirname + "/phpdocs/adminer/images"));
app.use("/adminer/css", express.static(__dirname + "/phpdocs/adminer/css"));
app.use("/adminer/fonts", express.static(__dirname + "/phpdocs/adminer/fonts"));
app.all(/.+\.php$/, php.cgi("./phpdocs"))
app.use(bodyParser.urlencoded({extended: true}));
app.use(bodyParser.json());
app.use(session(sessionOptions));
app.use("/grabber/css", express.static(__dirname + "/css"));
app.use("/css", express.static(__dirname + "/css"));
app.use("/img", express.static(__dirname + "/img"));
app.use("/grabber/lib", express.static(__dirname + "/scripts"));
Mansch mal liegt es der reinfolge der Initialisierung.
Das Problem macht mich echt wild
Für konstruktive Vorschläge wäre ich sehr, sehr, dankbar.