PHP 短链接服务:添加有效期验证

本文介绍如何为 PHP 短链接服务添加有效期验证,确保短链接在过期后无法访问。

原始代码:

$str = $_SERVER['QUERY_STRING'];
$result = substr($str, strrpos($str, '.') + 1);
$keyu = substr($result, 0, 1);

if ($keyu == 1) {
    $t_urll = $_SERVER['QUERY_STRING'];
    $uid = substr($t_urll, 0, strrpos($t_urll, '.'));
    $myrow = $DB->get_row("select * from BYFH_long where uid='$uid' limit 1");
    if (!$myrow) {
        @header("http/1.1 404 not found");
        @header("status: 404 not found");
        include './data/template/no.html';
        exit();
    } else {
        $t_url = $myrow['longurl'];
        if ($t_url == $t_url) {
            $t_url = $t_url;
        }
        // 执行下一个语句
    }
}

添加有效期验证的代码:

$str = $_SERVER['QUERY_STRING'];
$result = substr($str, strrpos($str, '.') + 1);
$keyu = substr($result, 0, 1);

if ($keyu == 1) {
    $t_urll = $_SERVER['QUERY_STRING'];
    $uid = substr($t_urll, 0, strrpos($t_urll, '.'));
    $myrow = $DB->get_row('select * from BYFH_long where uid='$uid' limit 1');
    if (!$myrow) {
        @header('http/1.1 404 not found');
        @header('status: 404 not found');
        include './data/template/no.html';
        exit();
    } else {
        $dqsj = $myrow['dqsj'];
        if ($dqsj < time()) {
            @header('http/1.1 404 not found');
            @header('status: 404 not found');
            include './data/template/no.html';
            exit();
        } else {
            $t_url = $myrow['longurl'];
            if ($t_url == $t_url) {
                $t_url = $t_url;
            }
            // 执行下一个语句
        }
    }
}

代码解释:

  1. **获取短链接信息:**代码首先通过 $_SERVER['QUERY_STRING'] 获取 URL 中的查询字符串,并解析出短链接 ID (uid)。
  2. **检查短链接是否存在:**代码使用 $DB->get_row() 方法从数据库中查询短链接信息,如果不存在,则返回 404 错误页面。
  3. **检查有效期:**代码获取短链接的过期时间 (dqsj),并与当前时间 (time()) 进行比较。如果短链接已经过期,则返回 404 错误页面。
  4. **跳转到目标链接:**如果短链接存在且未过期,则获取目标链接 (longurl),并执行跳转操作。

注意:

  • dqsj 字段应存储短链接的过期时间戳。
  • time() 函数返回当前时间戳。
  • 代码中使用 @header() 函数来发送 404 错误头。
  • 代码中使用 include 函数包含 404 错误页面。

总结:

添加有效期验证可以有效地防止过期短链接被访问,提高短链接服务的安全性。上述代码示例可以帮助你快速实现短链接有效期验证功能。

PHP 短链接服务:添加有效期验证

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

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