【问题标题】:How to load page ONLY if IP address is from a specified country? (No redirects) [duplicate]仅当 IP 地址来自指定国家/地区时如何加载页面? (无重定向)[重复]
【发布时间】:2013-10-12 19:27:42
【问题描述】:

是否有人知道仅当访问者 IP 来自指定国家/地区时才加载页面的方法?如果没有,访问者应该被重定向到正确的国家页面。如果可能的话,我希望在 PHP 中执行此操作。

例如。如果访问者 IP 显示英国,则页面加载。否则,它们将根据其 IP 进行重定向;如果是美国 IP 地址,则重定向到美国网页;如果是 CA IP 地址,则会重定向到加拿大网页。

注意:
1) 我知道这种方法可能并不总是准确的,因为访问者可能是通过 VPN/代理访问的,但它仍然是首选方法,因此感谢任何帮助。
2) 上述示例的替代方案当然是根据访问者的 IP 简单地重定向所有访问者。但我特别希望加载一个页面而不是重定向来自指定国家的访问者。提前感谢您的帮助!
3) 我已经知道如何根据 IP 地址重定向访问者。那不是我遇到麻烦的部分。这是“如果 IP 地址来自指定国家/地区,则加载此页面”的部分。如有任何混淆,我们深表歉意!

【问题讨论】:

标签: php


【解决方案1】:

我不会只是给你写一些代码,而是会让你开始了解一些概念。

您认为 IP 具有有助于区分国家/地区的某些特征是正确的。因此,请对这些特征进行一些研究。

以下是应用它们的方法:您将需要一个函数来获取 IP 并根据“.”将其拆分为多个字符串。然后,根据您的研究确定国家/地区。

之后,一个简单的 if 语句会根据您应该在函数中创建的“国家/地区”变量将用户发送到另一个站点。

<?php
if (country == blah)
    header("Location: http:***");
?>

有用吗?

【讨论】:

  • 不是真的...我已经知道如何根据 IP 重定向到多个页面。使用快速谷歌很容易弄清楚。那不是我遇到麻烦的部分。我似乎找不到“如果 IP 地址来自指定国家/地区,则加载此页面”的答案。
  • 但我特别希望加载一个页面,而不是重定向来自指定国家/地区的访问者。提前感谢您的帮助!有什么区别?
  • 加载页面而不是重定向可能有帮助的商业原因有很多。我能想到的一个简单原因是确保访问者只能查看与其国家/地区相关的页面,而不会看到其他国家/地区的页面。当然,如果你真的想要,你可以解决这个问题,但这个想法是让这件事更难完成。那么你知道怎么做吗?谢谢。
  • 是的。重定向到正确的网站。您是在谈论仅加载内容而不是全新的实际页面吗?
  • 是的,主要目标是加载内容而不是一个全新的页面。希望尽可能避免使用 iframe...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-07
  • 1970-01-01
  • 1970-01-01
  • 2020-05-20
  • 2021-10-29
  • 1970-01-01
相关资源
最近更新 更多