Expressjs с подключением-mysql-сессии - PullRequest
0 голосов
/ 08 декабря 2011

Я использую модуль connect-mysql-session с expressjs.Для каждого запроса к серверу я получаю следующее:

Express server listening on port 3000 in development mode
Executing: CREATE TABLE IF NOT EXISTS `Sessions` (`sid` VARCHAR(255), `expires` INT, `json` TEXT, `id` INT NOT NULL auto_increment , `createdAt` DATETIME NOT NULL, `updatedAt` DATETIME NOT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB;
MySQL session store initialized.
Executing: SELECT * FROM `Sessions` WHERE `sid`='4SQXzLCo1O44CLMdrA1WjVVC.lecbAd5SOXHkyJfR+YEpIVJ8p9E8m79TAGGTwxnoCuo' LIMIT 1;
Executing: SELECT * FROM `Sessions` WHERE `sid`='4SQXzLCo1O44CLMdrA1WjVVC.lecbAd5SOXHkyJfR+YEpIVJ8p9E8m79TAGGTwxnoCuo' LIMIT 1;
Executing: UPDATE `Sessions` SET `sid`='4SQXzLCo1O44CLMdrA1WjVVC.lecbAd5SOXHkyJfR+YEpIVJ8p9E8m79TAGGTwxnoCuo',`expires`=1323327347,`json`='{\"lastAccess\":1323312946989,\"cookie\":{\"originalMaxAge\":14400000,\"expires\":\"2011-12-08T06:55:47.013Z\",\"httpOnly\":true,\"path\":\"/\"},\"status\":true,\"_csrf\":\"kzvoTUf88Nr36YR2g7w6Y9P8\"}',`id`=9,`createdAt`='2011-12-08 03:52:11',`updatedAt`='2011-12-08 03:55:47' WHERE `id`=9
Executing: SELECT * FROM `Sessions` WHERE `sid`='4SQXzLCo1O44CLMdrA1WjVVC.lecbAd5SOXHkyJfR+YEpIVJ8p9E8m79TAGGTwxnoCuo' LIMIT 1;
Executing: SELECT * FROM `Sessions` WHERE `sid`='4SQXzLCo1O44CLMdrA1WjVVC.lecbAd5SOXHkyJfR+YEpIVJ8p9E8m79TAGGTwxnoCuo' LIMIT 1;
Executing: UPDATE `Sessions` SET `sid`='4SQXzLCo1O44CLMdrA1WjVVC.lecbAd5SOXHkyJfR+YEpIVJ8p9E8m79TAGGTwxnoCuo',`expires`=1323327347,`json`='{\"lastAccess\":1323312947060,\"cookie\":{\"originalMaxAge\":14400000,\"expires\":\"2011-12-08T06:55:47.061Z\",\"httpOnly\":true,\"path\":\"/\"},\"status\":true,\"_csrf\":\"kzvoTUf88Nr36YR2g7w6Y9P8\"}',`id`=9,`createdAt`='2011-12-08 03:52:11',`updatedAt`='2011-12-08 03:55:47' WHERE `id`=9
Executing: SELECT * FROM `Sessions` WHERE `sid`='4SQXzLCo1O44CLMdrA1WjVVC.lecbAd5SOXHkyJfR+YEpIVJ8p9E8m79TAGGTwxnoCuo' LIMIT 1;
Executing: SELECT * FROM `Sessions` WHERE `sid`='4SQXzLCo1O44CLMdrA1WjVVC.lecbAd5SOXHkyJfR+YEpIVJ8p9E8m79TAGGTwxnoCuo' LIMIT 1;
Executing: SELECT * FROM `Sessions` WHERE `sid`='4SQXzLCo1O44CLMdrA1WjVVC.lecbAd5SOXHkyJfR+YEpIVJ8p9E8m79TAGGTwxnoCuo' LIMIT 1;
Executing: SELECT * FROM `Sessions` WHERE `sid`='4SQXzLCo1O44CLMdrA1WjVVC.lecbAd5SOXHkyJfR+YEpIVJ8p9E8m79TAGGTwxnoCuo' LIMIT 1;
Executing: SELECT * FROM `Sessions` WHERE `sid`='4SQXzLCo1O44CLMdrA1WjVVC.lecbAd5SOXHkyJfR+YEpIVJ8p9E8m79TAGGTwxnoCuo' LIMIT 1;
Executing: SELECT * FROM `Sessions` WHERE `sid`='4SQXzLCo1O44CLMdrA1WjVVC.lecbAd5SOXHkyJfR+YEpIVJ8p9E8m79TAGGTwxnoCuo' LIMIT 1;
Executing: UPDATE `Sessions` SET `sid`='4SQXzLCo1O44CLMdrA1WjVVC.lecbAd5SOXHkyJfR+YEpIVJ8p9E8m79TAGGTwxnoCuo',`expires`=1323327347,`json`='{\"lastAccess\":1323312947088,\"cookie\":{\"originalMaxAge\":14400000,\"expires\":\"2011-12-08T06:55:47.089Z\",\"httpOnly\":true,\"path\":\"/\"},\"status\":true,\"_csrf\":\"kzvoTUf88Nr36YR2g7w6Y9P8\"}',`id`=9,`createdAt`='2011-12-08 03:52:11',`updatedAt`='2011-12-08 03:55:47' WHERE `id`=9
Executing: UPDATE `Sessions` SET `sid`='4SQXzLCo1O44CLMdrA1WjVVC.lecbAd5SOXHkyJfR+YEpIVJ8p9E8m79TAGGTwxnoCuo',`expires`=1323327347,`json`='{\"lastAccess\":1323312947089,\"cookie\":{\"originalMaxAge\":14400000,\"expires\":\"2011-12-08T06:55:47.090Z\",\"httpOnly\":true,\"path\":\"/\"},\"status\":true,\"_csrf\":\"kzvoTUf88Nr36YR2g7w6Y9P8\"}',`id`=9,`createdAt`='2011-12-08 03:52:11',`updatedAt`='2011-12-08 03:55:47' WHERE `id`=9
Executing: UPDATE `Sessions` SET `sid`='4SQXzLCo1O44CLMdrA1WjVVC.lecbAd5SOXHkyJfR+YEpIVJ8p9E8m79TAGGTwxnoCuo',`expires`=1323327347,`json`='{\"lastAccess\":1323312947114,\"cookie\":{\"originalMaxAge\":14400000,\"expires\":\"2011-12-08T06:55:47.115Z\",\"httpOnly\":true,\"path\":\"/\"},\"status\":true,\"_csrf\":\"kzvoTUf88Nr36YR2g7w6Y9P8\"}',`id`=9,`createdAt`='2011-12-08 03:52:11',`updatedAt`='2011-12-08 03:55:47' WHERE `id`=9
Executing: SELECT * FROM `Sessions` WHERE `sid`='4SQXzLCo1O44CLMdrA1WjVVC.lecbAd5SOXHkyJfR+YEpIVJ8p9E8m79TAGGTwxnoCuo' LIMIT 1;
Executing: SELECT * FROM `Sessions` WHERE `sid`='4SQXzLCo1O44CLMdrA1WjVVC.lecbAd5SOXHkyJfR+YEpIVJ8p9E8m79TAGGTwxnoCuo' LIMIT 1;
Executing: UPDATE `Sessions` SET `sid`='4SQXzLCo1O44CLMdrA1WjVVC.lecbAd5SOXHkyJfR+YEpIVJ8p9E8m79TAGGTwxnoCuo',`expires`=1323327347,`json`='{\"lastAccess\":1323312947253,\"cookie\":{\"originalMaxAge\":14400000,\"expires\":\"2011-12-08T06:55:47.254Z\",\"httpOnly\":true,\"path\":\"/\"},\"status\":true,\"_csrf\":\"kzvoTUf88Nr36YR2g7w6Y9P8\"}',`id`=9,`createdAt`='2011-12-08 03:52:11',`updatedAt`='2011-12-08 03:55:47' WHERE `id`=9

Почему он это делает?

И я получаю около 8 файлов cookie для каждого запросаconnect.sid), я думаю, он установлен для каждого актива likje js, css и изображений.Почему это устанавливается так много раз?Это предполагается?

вот моя конфигурация:

app.set('views', __dirname + '/../views');
app.set('view engine', 'html');
app.register('.html', require('ejs'));
app.use(express.bodyParser());
app.use(expressValidator);
app.use(express.methodOverride());
app.use(express.cookieParser());
app.use(express.session({
store: new MySQLSessionStore("test_db", "root", "root"), 
    secret: 'cat'
}));
app.use(app.router);
app.use(express.csrf());
app.use(express.static(__dirname + '/../public'));

С уважением

1 Ответ

1 голос
/ 08 декабря 2011

Я не уверен на 100% в этом, но я думаю, что вы должны поставить статическое промежуточное ПО побольше. Смысл в том, чтобы иметь статическое промежуточное программное обеспечение, указанное выше, поскольку для этого не потребуются сеансы, файлы cookie и другое промежуточное программное обеспечение, например:

app.set('views', __dirname + '/../views');
app.set('view engine', 'html');
app.register('.html', require('ejs'));
app.use(express.static(__dirname + '/../public'));
app.use(express.bodyParser());
app.use(expressValidator);
app.use(express.methodOverride());
app.use(express.cookieParser());
app.use(express.session({
store: new MySQLSessionStore("test_db", "root", "root"), 
    secret: 'cat'
}));
app.use(app.router);
app.use(express.csrf());
...