当前位置:首页 > 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 中,用于验证用户身份。这种方法比直接存储密码更安全。

php记住密码怎么实现

$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 或凭证,与数据库记录比对实现自动登录。

php记住密码怎么实现

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'])) {
        // 验证通过
    }
}

提供用户控制选项

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

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

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

相关文章

php实现树

php实现树

PHP实现树结构的方法 在PHP中实现树结构通常可以通过递归或迭代的方式完成。以下是几种常见的实现方法: 递归实现树结构 递归是处理树结构的自然方式,尤其适用于具有未知深度的树。 class Tr…

php 实现自动收货

php 实现自动收货

PHP 实现自动收货功能 自动收货功能通常用于电商系统,在订单超过一定时间未手动确认收货时自动完成订单。以下是实现方法: 数据库设计 需要订单表包含以下关键字段: CREATE TABLE…

php实现登录

php实现登录

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

php实现排序

php实现排序

PHP 数组排序方法 PHP 提供了多种内置函数用于数组排序,适用于不同的排序需求。以下是常见的排序方法: 按值升序排序 sort() 函数对数组按值升序排序,重置键名(索引数组适用): $num…

php实现支付宝支付

php实现支付宝支付

支付宝支付集成步骤 准备工作 在开始集成支付宝支付前,确保已注册支付宝开放平台账号并完成企业实名认证。创建应用后获取APPID、应用私钥和支付宝公钥。 配置支付宝SDK 通过Composer安装支付…

php实现注册登陆

php实现注册登陆

PHP 注册功能实现 创建数据库表结构(MySQL示例): CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, usern…