app.post('/post', upload.array(), function (req, res, next) {
switch(req.body['type']){
case 'auth':
authclients(req.body['data'] , res );
break;
}
});
function authclients(data, res){
if(!data['name']) return;
if(!data['pass']) return;
sqlc.getConnection(function(error, connection) {
sqlc.query("SELECT * FROM users WHERE name = ?", [data['name']], function(err, rows, fields){
if(!rows) return;
if(rows[0]['pass'] == data['pass']){
const secret = 'abcdefg';
const hash = crypto.createHmac('sha256', secret)
.update('1234a')
.digest('hex');
cookiesid = Math.random();
sqlc.query('UPDATE users SET cookie = ?,hash = ? WHERE id = ?', [cookiesid,hash,rows[0]['id']]);
res.cookie('userid', '', { expires: new Date(Date.now() + 900000), httpOnly: true });
console.log('Авторизован');
}
});
});
}
Представьте страницу mozilla.org/foo.html, которая выполняет следующий JavaScript:
var stateObj = { foo: "bar" };
history.pushState(stateObj, "page 2", "bar.html");
В этом случае адресная строка станет показывать mozilla.org/bar.html, но браузер не будет загружать страницу bar.html и даже проверять существует ли она.