我有一个脚本,如果用户代理等于变量,则该脚本必须重定向到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 }?>
答案 0 :(得分:2)
请尝试使用$ HTTP_SERVER_VARS而不是$ _SERVER,以免全局变量出现问题。
如果没有,请尝试使用strtolower:
StackActions.reset({
index: 0,
actions: [NavigationActions.navigate({ routeName: "Login" })],
});
答案 1 :(得分:1)
您在Get mark_deling_test2/_search
{
“query”: {
“bool”: {
“must”: {
“query_string”: {
“query”: “nut*“,
“fields”: [“Name”, “Description”, “keywords”]
}
},
“filter”: {
“term”: {
“groups”: “US-IBO”
}
}
}
}
}
上使用stripos
,但尚未定义$useragent
,仅定义了$useragent
。尝试更正此问题,然后重试。
答案 2 :(得分:1)
我认为您使用的是$user
而不是$user_agent
。
根据php手册php manual on stipos,您应该使用Triple =,例如===。
这里是应有的示例。
<?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 ($useragent === $BADBOT){
header("Location: ohno/403.php");
exit;
} else { ?>
Display home page
<?php }
?>
答案 3 :(得分:0)