PHP 短链接 URL 缩短服务:过期时间验证
以下是 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;
}
// Add check for dqsj expiration
$dqsj = $myrow['dqsj'];
if (strtotime($dqsj) < time()) {
@header('http/1.1 404 not found');
@header('status: 404 not found');
include './data/template/no.html';
exit();
} else {
// continue with the rest of the code
}
}
}
代码解释:
- 获取短链接: 使用
$_SERVER['QUERY_STRING']获取当前请求的查询字符串,即短链接 URL。 - 提取 URL ID: 使用
substr和strrpos函数从短链接中提取 URL ID(假设 ID 在短链接中使用.分隔)。 - 数据库查询: 使用
$DB->get_row从数据库BYFH_long中查询与该 URL ID 对应的记录。 - 验证链接存在: 如果查询结果为空,表示该链接不存在,返回 404 错误页面。
- 验证过期时间: 如果链接存在,则验证其过期时间
dqsj是否已经过去。如果过期,返回 404 错误页面。 - 重定向: 如果链接存在且未过期,则获取原始 URL
longurl,并将用户重定向到该 URL。
注意:
- 此代码假设
dqsj字段存储的是日期时间格式的字符串。 $DB是一个数据库连接对象,你需要根据你的数据库连接方式进行修改。'./data/template/no.html'是 404 错误页面模板文件路径,请根据实际情况进行调整。
SEO 优化:
- 标题和描述应该包含关键词,例如 'PHP 短链接', '过期时间', 'URL 缩短', '代码示例' 等。
- 关键词应该包含在内容中,并使用合理的密度。
- 内容应该清晰易懂,并提供有价值的信息。
- 使用合适的 HTML 结构和语义化标签。
- 使用图片和视频来丰富内容。
- 链接到相关内容。
- 提交网站到搜索引擎。
示例:
{'title': 'PHP 短链接 URL 缩短服务:过期时间验证', 'description': '此 PHP 代码示例演示了如何验证短链接的过期时间,防止访问过期的短链接。代码使用 $_SERVER['QUERY_STRING'] 获取短链接,提取 URL ID,并从数据库 BYFH_long 中查询相应的记录。如果链接存在且未过期,则将用户重定向到原始 URL。否则,返回 404 错误页面。', 'keywords': 'PHP, 短链接, URL缩短, 过期时间, 404错误, 数据库查询, 代码示例', 'content': '以下是 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;
}
// Add check for dqsj expiration
$dqsj = $myrow['dqsj'];
if (strtotime($dqsj) < time()) {
@header('http/1.1 404 not found');
@header('status: 404 not found');
include './data/template/no.html';
exit();
} else {
// continue with the rest of the code
}
}
}
代码解释:
- 获取短链接: 使用
$_SERVER['QUERY_STRING']获取当前请求的查询字符串,即短链接 URL。 - 提取 URL ID: 使用
substr和strrpos函数从短链接中提取 URL ID(假设 ID 在短链接中使用.分隔)。 - 数据库查询: 使用
$DB->get_row从数据库BYFH_long中查询与该 URL ID 对应的记录。 - 验证链接存在: 如果查询结果为空,表示该链接不存在,返回 404 错误页面。
- 验证过期时间: 如果链接存在,则验证其过期时间
dqsj是否已经过去。如果过期,返回 404 错误页面。 - 重定向: 如果链接存在且未过期,则获取原始 URL
longurl,并将用户重定向到该 URL。
注意:
- 此代码假设
dqsj字段存储的是日期时间格式的字符串。 $DB是一个数据库连接对象,你需要根据你的数据库连接方式进行修改。'./data/template/no.html'是 404 错误页面模板文件路径,请根据实际情况进行调整。
SEO 优化:
- 标题和描述应该包含关键词,例如 'PHP 短链接', '过期时间', 'URL 缩短', '代码示例' 等。
- 关键词应该包含在内容中,并使用合理的密度。
- 内容应该清晰易懂,并提供有价值的信息。
- 使用合适的 HTML 结构和语义化标签。
- 使用图片和视频来丰富内容。
- 链接到相关内容。
- 提交网站到搜索引擎。
原文地址: https://www.cveoy.top/t/topic/bH41 著作权归作者所有。请勿转载和采集!