entered timestamp not null default NOW());
create table ttrss_sessions (id varchar(300) unique not null primary key,
- data text,
- expire integer not null);
+ data text,
+ expire integer not null,
+ ip_address varchar(15) not null default '');
create index ttrss_sessions_expire_index on ttrss_sessions(expire);
create table ttrss_sessions (id varchar(300) unique not null primary key,
data text,
- expire integer not null);
+ expire integer not null,
+ ip_address varchar(15) not null default '');
create index ttrss_sessions_id_index on ttrss_sessions(id);
create index ttrss_sessions_expire_index on ttrss_sessions(expire);
global $session_connection,$session_read;
- $query = "SELECT data FROM ttrss_sessions WHERE id='$id'";
+ $ip_address = $_SERVER["REMOTE_ADDR"];
+
+ if (SESSION_CHECK_ADDRESS) {
+ $address_check_qpart = " AND ip_address = '$ip_address'";
+ }
+
+ $query = "SELECT data FROM ttrss_sessions WHERE id='$id' $address_check_qpart";
$res = db_query($session_connection, $query);
$data = db_escape_string(base64_encode($data), $session_connection);
+ $ip_address = $_SERVER["REMOTE_ADDR"];
+
+ if (SESSION_CHECK_ADDRESS) {
+ $address_check_qpart = " AND ip_address = '$ip_address'";
+ }
+
if ($session_read) {
$query = "UPDATE ttrss_sessions SET data='$data',
- expire='$expire' WHERE id='$id'";
+ expire='$expire' WHERE id='$id' $address_check_qpart";
} else {
- $query = "INSERT INTO ttrss_sessions (id, data, expire)
- VALUES ('$id', '$data', '$expire')";
+ $query = "INSERT INTO ttrss_sessions (id, data, expire, ip_address)
+ VALUES ('$id', '$data', '$expire', '$ip_address')";
}
db_query($session_connection, $query);
function destroy ($id) {
global $session_connection;
-
- $query = "DELETE FROM ttrss_sessions WHERE id = '$id'";
+
+ $ip_address = $_SERVER["REMOTE_ADDR"];
+
+ if (SESSION_CHECK_ADDRESS) {
+ $address_check_qpart = " AND ip_address = '$ip_address'";
+ }
+
+ $query = "DELETE FROM ttrss_sessions WHERE id = '$id' $address_check_qpart";
db_query($session_connection, $query);