我刚刚实现了一个实现SessionHandlerInterface的PHP会话处理程序,从而在db上存储会话信息,另外我正在设置持久登录。
似乎工作正常,需要进一步测试。正在db上创建数据,但这不会阻止在TMP目录上创建会话文件,这是一个安全风险。
那么,我的问题是如何避免创建那些冗余文件?
我不确定为了给你一个很好的概述我应该包含多少信息,但我将从.htaccess对php.ini所做的更改开始
session.save_path still shows as /Applications/MAMP/tmp/php
php_flag session.auto_start off
php_flag session.use_cookies on
php_flag session.use_only_cookies on
php_flag session.use_trans_sid off
php_flag session.use_strict_mode on
php_value session.cache_limiter nocache
# Cookie settings
#php_value session.cookie_domain ''
#php_value session.cookie_path '/SiteCar'
php_value session.cookie_lifetime 0
php_flag session.cookie_httponly on
php_flag session.cookie_secure off // change for production
php_value session.gc_maxlifetime 1440
php_value session.gc_probability 1
php_value session.gc_divisor 100
我还包括我的初始化脚本:
use UsedSessions\Sessions\PersistentSessionHandler;
require_once 'UsedSessions/Includes/Psr4AutoloaderClass.php';
require_once 'used_connect.php';
$loader = new Psr4AutoloaderClass();
$loader->register();
$loader->addNamespace('UsedSessions', 'UsedSessions');
$handler = new PersistentSessionHandler($ulink);
session_set_save_handler($handler);
session_start();
$_SESSION['active'] = time();
use UsedSessions\Sessions\Autologin;