<?php
session_start(); // 开启session

// 设置session过期时间为10秒
$_SESSION['isLogged'] = true;
$_SESSION['expire'] = time() + 10;

if(isset($_POST['password'])) {
    $password = $_POST['password'];
    if($password == '19') {
        // 判断是否已经跳转过
        if(!isset($_SESSION['isLogged'])) {
            $_SESSION['isLogged'] = true; // 标记已经跳转过
            // 密码正确,跳转到主页
            header('Location: vi.php');
            exit;
        }
    } else {
        // 密码错误,提示购买密码
        echo '<script>alert('密码错误,请购买密码!');</script>';
        // 2秒后跳转到购买链接
        echo '<script>
            setTimeout(function() {
                window.location.href = "http://wpa.qq.com/msgrd?v=3&uin=1159114746&site=qq&menu=yes";
            }, 2000);
        </script>';
    }
}

// 网站内容
// 判断是否已经跳转过
if(!isset($_SESSION['isLogged'])) {
    // 判断session是否过期
    if(isset($_SESSION['expire']) && time() > $_SESSION['expire']) {
        // session过期,重新输入密码
        echo '<form method="post"><input type="password" name="password" placeholder="请输入密码"></form>';
    } else {
        // session未过期,继续显示网站内容
        echo '欢迎观看';
    }
} else {
    // session已经跳转过,直接跳转到主页
    header('Location: vi.php');
    exit;
}
?>

代码功能:

  1. 设置 Session 过期时间: 使用 $_SESSION['expire'] = time() + 10; 设置 Session 在 10 秒后过期。
  2. 密码验证: 接受用户输入的密码,进行验证。如果密码正确,则设置 $_SESSION['isLogged'] = true; 标记已经登录,并跳转到主页。
  3. 自动锁定: 如果用户没有登录,则在 10 秒后自动显示密码输入框,要求用户输入密码。
  4. 过期提示: 如果 Session 已经过期,则会显示密码输入框,提示用户重新输入密码。

注意:

  • 该示例代码使用了 time() 函数获取当前时间戳,并根据 $_SESSION['expire'] 判断 Session 是否过期。
  • 您可以根据实际需要修改 Session 过期时间、密码验证逻辑、网站内容等。
  • 建议您使用更安全的密码验证方式,例如使用哈希加密和盐值。
  • 在实际项目中,通常会使用数据库或其他存储方式来存储 Session 数据,以便在多个服务器之间共享 Session。

相关链接:

相关关键词:

PHP Session, 过期时间, 10 秒, 自动锁定, 密码验证, 示例代码, PHP Session 文档, PHP time() 函数, PHP header() 函数, PHP $_POST 超全局变量, PHP $_SESSION 超全局变量

PHP Session 设置过期时间为 10 秒 - 完整示例

原文地址: https://www.cveoy.top/t/topic/nogo 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录