我的问题是:用户在没有做任何操作的情况下就登录到了彼此的帐户。例如,如果我登录到我的帐户并开始浏览,第二个用户访问该网站,如果他们登录到自己的帐户,并重新加载几次,他们最终进入我的帐户。如您所见,这是一个巨大的安全漏洞。
而且,我一直在记录错误,
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; }
1条答案
按热度按时间a14dhokn1#
这是因为您已经从cpanel ini编辑器设置了所有配置。例如这样的代码:
所以只要把线移开就行了
php\u value session.save\u path“/var/cpanel/php/sessions/ea-php72”
从代码,你会摆脱这个问题。简单的