Хук integrate_load_session
Хук integrate_load_session позволяет переопределить некоторые настройки PHP, устанавливаемые в SMF, связанные с сессиями.
Расположение⚓︎
Хук расположен в функции loadSession, сразу после определения следующих PHP параметров:
<?php
ini_set('session.use_cookies', true);
ini_set('session.use_only_cookies', false);
ini_set('url_rewriter.tags', '');
ini_set('session.use_trans_sid', false);
ini_set('arg_separator.output', '&');
Назначение⚓︎
Хук вызывается без параметров, но позволяет изменять настройки сессий через ini_set. Полезен для настройки безопасности сессий, например, для установки session.use_only_cookies в true для предотвращения сессионных атак.
Использование⚓︎
<?php
if (! defined('SMF'))
die('No direct access...');
class YourModName
{
// Подключаем используемые хуки
public function hooks(): void
{
add_integration_function('integrate_load_session', self::class . '::loadSession#', false, __FILE__);
}
// Переопределяем нужную опцию
public function loadSession(): void
{
// Устанавливаем использование только cookie для сессий
ini_set('session.use_only_cookies', true);
// Можно добавить другие настройки
ini_set('session.cookie_secure', true); // Только HTTPS
ini_set('session.cookie_httponly', true); // Защита от XSS
}
}
Таким образом, если вам нужно изменить или добавить определённые PHP опции для сессий, попробуйте воспользоваться этим хуком.