посмотрите в своем PHP там установлено:
php_value session.use_cookies = 1
, и оба
php_value session.use_only_cookies 1
php_value session.use_trans_sid 0
являются значениями по умолчанию, поэтому вы не найдете их там.
тогда php попытается сохранить идентификатор сеанса в cook ie, но безуспешно, поэтому каждый раз вы будете получать новый идентификатор сеанса. если вы не хотите зависеть от настройки ie повара и не возражаете против более длинного URL-адреса, вы можете указать это:
ini_set('session.use_only_cookies', '0');
ini_set('session.use_trans_sid','1');
session_start();
теперь php попытается сохранить сеанс как повар ie и если это не удается, как переменная получения с именем PHPSESSID, и ваш URL-адрес станет немного длиннее. Вы можете изменить имя этой переменной, установив session.name
.
В этот момент вы можете защитить себя, используя скрытую переменную POST, которая хранит, например, md5 этой переменной, и вы можете каждый раз контролировать, если сессия была изменена ...
хорошая привычка также состоит в том, чтобы сохранять sessionid и IP в таблице сессий в базе данных и каждый раз проверять GET POST и Database и IP, поют ли они одну и ту же песню.
добро пожаловать на кухню ie кухню; -)