Из-за требований клиента я столкнулся с разработкой сайта Drupal 7, который не может использовать файлы cookie для управления сеансом.
Несколько старых тем на справочных сайтах предлагают просто установить соответствующую конфигурацию PHP в файле settings.php сайта:
ini_set('session.use_cookies', '0');
ini_set('session.use_only_cookies', '0');
ini_set('session.use_trans_sid', '1');
Однако, хотя это могло сработать 11 лет назад, сейчас это не работает.
Беглый взгляд на основной файл session.inc показывает, почему: вся обработка сеанса в Drupal написана с учетом того, что файлы cookie будут доступны.
Однако можно переопределить используемый обработчик сеанса, указав путь к новому обработчику в переменной session_inc
.
Так что я мог бы решить эту проблему, написав новую версию session.inc и загрузив ее вместо другой, но я бы предпочел этого не делать, если в этом нет необходимости.
Я не могу найти какое-либо недавнее упоминание этой темы, но если кто-то может предложить какие-либо ресурсы или несколько советов о том, как переписать session.inc, я был бы рад их услышать.