PHP 代码限制访问:域名和 URL 参数判断
PHP 代码限制访问:域名和 URL 参数判断
本文介绍了如何使用 PHP 代码限制网站访问,包括限制域名和 URL 参数,并提供代码示例和修改建议。
原始代码:
$domain = $_SERVER['HTTP_HOST'];
if($domain !== 'fh.whsc.gay' && (!strpos($_SERVER['REQUEST_URI'], '?') || strlen($_SERVER['REQUEST_URI']) <= strpos($_SERVER['REQUEST_URI'], '?') + 29)){
echo '未授权不允许访问!';
exit;
}
// 网站代码...
需求:
除了限制域名 fh.whsc.gay 外,还需要判断 URL 参数后面是否带有 6 个字符,如果有则允许访问。
修改后的代码:
$domain = $_SERVER['HTTP_HOST'];
if($domain !== 'fh.whsc.gay' && (!strpos($_SERVER['REQUEST_URI'], '?') || strlen($_SERVER['REQUEST_URI']) <= strpos($_SERVER['REQUEST_URI'], '?') + 29) && strlen($_SERVER['REQUEST_URI']) != 7){
echo '未授权不允许访问!';
exit;
}
// 网站代码...
代码解释:
- 使用
strpos($_SERVER['REQUEST_URI'], '?')查找 URL 中?号的位置,如果存在则代表有参数。 - 使用
strlen($_SERVER['REQUEST_URI']) <= strpos($_SERVER['REQUEST_URI'], '?') + 29判断 URL 参数长度是否超过 29 个字符。 - 使用
strlen($_SERVER['REQUEST_URI']) != 7判断 URL 是否只有 7 个字符(不包括域名),只有 7 个字符才不允许访问。
总结:
通过以上代码修改,可以实现域名和 URL 参数的双重限制,确保只有满足条件的访问才被允许。
原文地址: http://www.cveoy.top/t/topic/bGrj 著作权归作者所有。请勿转载和采集!