根据国家/地区重定向,但如果 IP 被列入白名单则允许

Posted

技术标签:

【中文标题】根据国家/地区重定向,但如果 IP 被列入白名单则允许【英文标题】:Redirect based on Country but allow if IP is whitelisted 【发布时间】:2020-11-25 06:10:24 【问题描述】:

我有一个脚本可以重定向来自我的国家的人,并允许所有其他人留下来,如果不是我的国家。

如果我的 IP 地址来自应该全部重定向的国家/地区,我如何才能将其列入白名单?

require_once('geoplugin.class.php');
$geoplugin = new geoPlugin();
$geoplugin->locate();
// create a variable for the country code
$var_country_code = $geoplugin->countryCode;
// redirect based on country code:
if ($var_country_code == "BG") 
   header('Location: https://wikipedia.org/');

else if ($var_country_code == "E1") 
   header('Location: https://website.xyz/wordpress');


?>```

【问题讨论】:

如果你有一个静态 ip.assign 给一个变量,并将它与国家代码进行比较。如果是动态的,请在线查找您的 IP 地址并在 else if 循环中添加比较检查 是什么让您无法在脚本中添加更多条件? 【参考方案1】:

我认为您可以尝试获取客户端 IP,然后检查您的 IP(如果它是静态的) 如果它是 TRUE 那么你可能不会重定向如果不是(否则)到达那里的位置并继续你的代码的其余部分

if (client_IP == "Your own IP") 
   header('Location: Whatever location you want');

else if ($var_country_code == "BG") 
   header('Location: https://wikipedia.org/');

else if ($var_country_code == "E1") 
   header('Location: https://pasted.xyz/wordpress');

希望对你有帮助

【讨论】:

它仍然将我重定向到***...就像没有将我的 IP 从功能中列入白名单以重定向 BG 国家代码人员。 您使用了什么代码但仍然无法正常工作?你确定你的 IP 是静态的吗? 是的,我确信它是静态的。该脚本有效,但 ClientIP 来自 BG,但将我重定向到***,而不是我想要重定向的链接。 我想你没有明白我的意思,你将在脚本中硬编码你的 IP 地址,并将客户端 IP 而不是国家,只是他的数字 IP 与你硬编码的 IP 进行比较如果不是你,它不会评估为 TRUE(我们希望) 你用什么函数获取客户端IP?你知道“if (client_IP == "Your own IP") code doesn't work”就像伪代码,而不是实际代码?

以上是关于根据国家/地区重定向,但如果 IP 被列入白名单则允许的主要内容,如果未能解决你的问题,请参考以下文章

URL 被阻止:此重定向失败,因为重定向 URI 未在应用程序的客户端 OAuth 设置中列入白名单?

Facebook 登录消息:“URL 被阻止:此重定向失败,因为重定向 URI 未在应用程序的客户端 OAuth 设置中列入白名单。”

“URL 被阻止:此重定向失败,因为重定向 URI 未在应用程序的客户端 OAuth 设置中列入白名单。”但在本地工作

根据 IP 位置管理重定向

如何根据国家/地区的IP地址重定向网站

将 IPv6 列入白名单