Я не уверен, поможет ли это, но это настолько безопасно, насколько я знаю, как настроить сеанс. Я бы хотел, чтобы меня исправил кто-то более знающий, чем я, поскольку это напрямую повлияет на все мои проекты в области электронной коммерции.
есть функция current_domain()
, на которую ссылается приведенный ниже код, которая взята из моей платформы с открытым исходным кодом (ссылка на файл, содержащий функцию). Если вам не нужна динамическая замена домена, вы можете просто жестко закодировать свой домен там.
<?
ini_set( 'session.use_trans_sid', false );
ini_set( 'url_rewriter.tags', '' );
ini_set( 'session.use_cookies', true );
ini_set( 'session.use_only_cookies', true );
ini_set( 'session.name', sha1( current_domain() ) ); // current domain is a function implemented in tgsf
ini_set( 'session.cookie_lifetime', 0 ); // until browser is closed. I implement this server side
ini_set( 'session.hash_function', 1 ); // sha-1
ini_set( 'session.hash_bits_per_character', 6 );
// only if host is not localhost
ini_set( 'session.cookie_domain', 'www.example.com' );
// use for localhost
//ini_set( 'session.cookie_domain', null );
ini_set( 'session.cookie_path', '/' ); // limit as much as you can for security
ini_set( 'session.cache_limiter', 'nocache' ); //prevents back button displaying a page after session is dead
ini_set( 'session.cookie_httponly', true ); // helps prevent xss by preventing javascript access to the session cookie (on SOME browsers, not all)