php - 如果用户代理使用 PHP 等于变量,则标头重定向
问题描述
如果用户代理等于变量,我有一个脚本必须重定向到 403 页面,但如果不是 - 必须显示正常页面。而不是这个脚本只显示空白页,仅此而已。请帮助我解决我的问题或我做错了什么。
这是脚本:
<?php
//-- Get user agent
//-- Thanks @creditosrapidos10min for hint about strtolower()
$useragent = strtolower($_SERVER['HTTP_USER_AGENT']);
//-- BadBot variable
$Baiduspider = stripos($useragent, "Baiduspider");
$DotBot = stripos($useragent, "DotBot");
//-- BadBot constant
$BADBOT = ($Baiduspider||$DotBot);
if ($agent == $BADBOT){
header("Location: ohno/403.php");
exit;
} else { ?>
Display home page
<?php }?>
解决方案
尝试使用 $HTTP_SERVER_VARS 而不是 $_SERVER,以免全局变量出现问题。
如果没有,请尝试使用 strtolower:
<?php
//-- Get user agent
$useragent = strtolower($_SERVER['HTTP_USER_AGENT']);
//-- BadBot variable
$Baiduspider = stripos($useragent, "baiduspider");
$DotBot = stripos($useragent, "dotbot");
//-- BadBot constant
$BADBOT = ($Baiduspider||$DotBot);
if ($agent == $BADBOT){
header("Location: ohno/403.php");
exit;
} else { ?>
Display home page
<?php }?>
推荐阅读
- javascript - Vue.js 组件嵌入到另一个组件时不会出现
- excel - 工作表和 VBA 中的 INDEX/MATCH 之间的区别
- reactjs - 超过 1 次测试时反应 Jest 测试警告
- android - AudioPlaybackCapture API 的策略不起作用
- python - 从 Python 中可调用的字符串创建动态函数?
- python - 常用词频率及其频率总和?
- android - 从 Visual Studio 部署时保留 prevoius 应用程序的问题
- python - Python:将程序中的循环更改为映射函数
- javascript - 如何连接到 nodejs 套接字服务器?
- python - Python:类编程和排队