当前位置:首页 > PHP

php记住密码怎么实现

2026-04-02 19:41:47PHP

使用 Cookie 存储登录信息

在用户登录成功后,将用户名和加密后的密码存储在 Cookie 中。加密可以使用 password_hash 函数或对称加密算法如 AES。

$username = 'user123';
$password = 'securepass';
$hashedPassword = password_hash($password, PASSWORD_DEFAULT);

setcookie('remember_username', $username, time() + 86400 * 30, '/');
setcookie('remember_password', $hashedPassword, time() + 86400 * 30, '/');

使用 Session 和 Token 机制

生成一个随机 token 存储在数据库和用户 Cookie 中,用于验证用户身份。这种方法比直接存储密码更安全。

$token = bin2hex(random_bytes(32));
setcookie('remember_token', $token, time() + 86400 * 30, '/');

// 将 token 和用户ID存入数据库
$stmt = $pdo->prepare("UPDATE users SET remember_token = ? WHERE id = ?");
$stmt->execute([$token, $userId]);

自动登录验证流程

在页面加载时检查 Cookie 中的 token 或凭证,与数据库记录比对实现自动登录。

if (isset($_COOKIE['remember_token'])) {
    $token = $_COOKIE['remember_token'];
    $stmt = $pdo->prepare("SELECT * FROM users WHERE remember_token = ?");
    $stmt->execute([$token]);
    $user = $stmt->fetch();

    if ($user) {
        $_SESSION['user_id'] = $user['id'];
    }
}

安全注意事项

敏感信息如密码必须加密存储,推荐使用 password_hashpassword_verify 函数处理密码。设置合理的 Cookie 过期时间,建议不超过 30 天。

if (isset($_COOKIE['remember_password'])) {
    $inputPassword = 'user_input_password';
    if (password_verify($inputPassword, $_COOKIE['remember_password'])) {
        // 验证通过
    }
}

提供用户控制选项

在登录表单添加"记住我"复选框,让用户自主选择是否启用该功能。

php记住密码怎么实现

<input type="checkbox" name="remember_me" id="remember_me">
<label for="remember_me">记住密码</label>
if (isset($_POST['remember_me'])) {
    // 执行记住密码逻辑
}

标签: 密码php
分享给朋友:

相关文章

php实现文件下载

php实现文件下载

PHP实现文件下载的方法 通过PHP实现文件下载功能,可以采用多种方式,以下是几种常见的实现方法: 使用header()函数强制下载 设置HTTP头信息,强制浏览器下载文件而非直接打开: $fi…

php实现定时任务

php实现定时任务

PHP 实现定时任务的几种方法 在 PHP 中实现定时任务可以通过多种方式完成,具体选择取决于项目需求和服务器环境。以下是常见的实现方法: 使用 Cron 任务 Cron 是 Linux 系统中常用…

php实现栈

php实现栈

栈的基本概念 栈(Stack)是一种遵循后进先出(LIFO)原则的数据结构。核心操作包括: push:元素入栈。 pop:元素出栈(返回并移除栈顶元素)。 peek:查看栈顶元素(不移除…

php实现登录

php实现登录

PHP 登录功能实现 数据库连接与用户表创建 创建一个数据库连接文件 db.php,用于管理数据库连接。MySQL 示例代码如下: <?php $host = 'localhost'; $db…

php 实现排序

php 实现排序

PHP 实现数组排序的方法 PHP 提供了多种内置函数和方法来实现数组排序,适用于不同的排序需求。以下是一些常见的排序实现方式: 使用 sort() 函数对数组进行升序排序 sort() 函数对数组…

php 实现队列

php 实现队列

PHP 实现队列的方法 PHP 可以通过多种方式实现队列功能,以下是几种常见的实现方法: 使用数组实现队列 PHP 数组可以通过 array_push 和 array_shift 函数模拟队列的先进…