Для № 1 используйте session_set_cookie_params()
.Срок действия истекает через 600 секунд
session_set_cookie_params(600)
(обратите внимание, что в отличие от обычной функции setcookie
session_set_cookie_params
использует секунды, которые вы хотите прожить, она не должна быть time() + 600
, что является обычной ошибкой)
Для номера 2 просто сделайте небольшой скрипт, вызываемый через AJAX:
<?php
session_start()
if( empty($_SESSION['active']) ) {
print "Expired"
}
else {
print "Active"
}
?>
На стороне Javascript (используя JQuery)
$.get('path/to/session_check.php', function(data) {
if( data == "Expired" ) {
alert("Session expired");
} else if (data == "Active" ) {
alert("Session active");
}
});