From dd2109fcb99a512efaf8c0ea30a309a780b60531 Mon Sep 17 00:00:00 2001 From: Dries Buytaert Date: Fri, 17 Feb 2006 11:10:49 +0000 Subject: [PATCH] - Pach #44947 by Moshe: fixed bug with session handling. --- includes/session.inc | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/includes/session.inc b/includes/session.inc index 48938d2ca0c..bb9cc890086 100644 --- a/includes/session.inc +++ b/includes/session.inc @@ -53,8 +53,12 @@ function sess_write($key, $value) { $result = db_query("SELECT sid FROM {sessions} WHERE sid = '%s'", $key); if (!db_num_rows($result)) { - // Only save session data when there is session data available. - if ($user->uid || $value) { + // Only save session data when when the browser sends a cookie. This keeps + // crawlers out of session table. This improves speed up queries, reduces + // memory, and gives more useful statistics. We can't eliminate anonymous + // session table rows without breaking throttle modulee and "Who's Online" + // block. + if ($user->uid || $value || count($_COOKIE)) { db_query("INSERT INTO {sessions} (sid, uid, cache, hostname, session, timestamp) VALUES ('%s', %d, %d, '%s', '%s', %d)", $key, $user->uid, $user->cache, $_SERVER["REMOTE_ADDR"], $value, time()); } }