php会话出错

y53ybaqx  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(312)

我的问题是:用户在没有做任何操作的情况下就登录到了彼此的帐户。例如,如果我登录到我的帐户并开始浏览,第二个用户访问该网站,如果他们登录到自己的帐户,并重新加载几次,他们最终进入我的帐户。如您所见,这是一个巨大的安全漏洞。
而且,我一直在记录错误,
php警告:session\u start():open(tmp//sess\u vfufois8rpg3p7l0fjet2p4e63,o\u rdwr)失败:中没有这样的文件或目录(2)
我的php会话存储在web服务器根目录下的tmp文件夹中。我好像找不到哪里不对劲?任何帮助都将不胜感激。
这是处理登录的函数,

function process_login() {
$username = "";
$password = "";
if (isset($_COOKIE['username']) and isset($_COOKIE['user_token'])) {
    $username = $_COOKIE['username'];
    $password = $_COOKIE['user_token'];
}
if (isset($_SESSION['username']) and isset($_SESSION['user_token'])) {
    $username = $_SESSION['username'];
    $password = $_SESSION['user_token'];
}

$query = db()->query("SELECT * FROM members WHERE id = ? AND password = ? ", $username, $password);
$result = $query->fetch(\PDO::FETCH_ASSOC);

if (!$result) return false;

app()->authId = $result['id'];
app()->authUser = $result;

save_login_data($result['id'], $result['password']);
return true; }
a14dhokn

a14dhokn1#

这是因为您已经从cpanel ini编辑器设置了所有配置。例如这样的代码:

<IfModule lsapi_module>
   php_flag display_errors Off
   php_value max_execution_time 300
   php_value max_input_time 500
   php_value max_input_vars 300
   php_value memory_limit 50M
   php_value post_max_size M
   php_value session.gc_maxlifetime 1440
   php_value session.save_path "/var/cpanel/php/sessions/ea-php72"
   php_value upload_max_filesize 2000M
   php_flag zlib.output_compression On
</IfModule>

所以只要把线移开就行了
php\u value session.save\u path“/var/cpanel/php/sessions/ea-php72”
从代码,你会摆脱这个问题。简单的

相关问题