php输出链接有效期1分钟并判断过期则跳转另一页面
以下是一个示例代码,可以生成一个有效期为1分钟的链接,并且在链接过期后跳转到另一个页面。
<?php
// 生成随机字符串作为链接的标识符
$token = bin2hex(random_bytes(16));
// 将标识符和过期时间存储在 session 中
$_SESSION[$token] = time() + 60;
// 生成链接
$link = "http://example.com/page.php?token=$token";
// 输出链接
echo "<a href='$link'>Click Here</a>";
// 在页面中检查链接是否过期
if (isset($_GET['token'])) {
$token = $_GET['token'];
if (isset($_SESSION[$token]) && $_SESSION[$token] > time()) {
// 链接未过期,继续访问
} else {
// 链接已过期,跳转到另一个页面
header("Location: http://example.com/expired.php");
exit();
}
}
在上述代码中,我们首先生成一个随机字符串作为链接的标识符,然后将其和过期时间存储在 session 中。接着,我们生成链接并输出到页面中。
在访问链接时,我们检查是否存在标识符,并且该标识符是否在 session 中,并且过期时间是否大于当前时间。如果链接未过期,则继续访问页面。否则,我们使用 PHP 的 header()
函数将用户重定向到另一个页面,以提示链接已过期
原文地址: https://gggwd.com/t/topic/fDOv 著作权归作者所有。请勿转载和采集!