session config

This commit is contained in:
CHIEFSOFT\ameye
2023-11-16 15:54:42 -05:00
parent 77cdf47af9
commit e8613ea62f
+9 -2
View File
@@ -1865,6 +1865,9 @@ long account_session_check(CVars in, CVars out) {
long ret = PHP_INVALID_SESSION;
try {
long session_expire_minutes = 15;
in["session_expire_minutes"] = CfgReadChar("system.session_expire_minutes");
session_expire_minutes = in["session_expire_minutes"].Long();
REQ_STRING(in, "sessionid", 4, 140, "(.*)");
OPTIONAL(in, "mode") REQ_LONG(in, "mode", 1, -1);
if (in["mode"].Long() == 900 ){
@@ -1901,7 +1904,9 @@ long VerifySession(CVars in, CVars &out) {
REQ_STRING(in, "sessionid", 4, 140, "(.*)");
long member_id = REQ_LONG(in, "member_id", 1, -1);
long session_expire_minutes = 15;
long session_expire_minutes = 15;
in["session_expire_minutes"] = CfgReadChar("system.session_expire_minutes");
session_expire_minutes = in["session_expire_minutes"].Long();
if (load_db_record(out, "SELECT s.* FROM members_session s LEFT JOIN members m ON m.id=s.member_id "
" WHERE s.member_id=%lu AND s.updated > (now() - interval '%lu minutes') AND s.session='%s'", member_id, session_expire_minutes, in["sessionid"].c_str()) > 0) {
@@ -1928,8 +1933,10 @@ long SessionCheck(long uid, const char *sessionid, int create) {
if (uid < 1 || sessionid == NULL || strlen(sessionid) < 4) {
return -1L; // Invalif parameters
}
CVars in;
long session_expire_minutes = 15;
in["session_expire_minutes"] = CfgReadChar("system.session_expire_minutes");
session_expire_minutes = in["session_expire_minutes"].Long();
// Clean old sessions
pgsql_exec("DELETE FROM members_session WHERE member_id=%ld AND updated < (now() - interval '%lu minutes')", uid, session_expire_minutes);