【问题标题】:How to block user by country for a specific page in php如何按国家/地区阻止用户访问php中的特定页面
【发布时间】:2016-09-14 10:39:03
【问题描述】:

我知道的唯一方法是获取用户的 IP 并通过在 php.ini 页面开头使用一些 api 来检查它属于哪个国家/地区。然后,重定向它。

所以,我想知道是否有其他更好的重定向方式来做到这一点。比如来自.htaccess?

在没有第三方网络服务的情况下,有没有办法找出用户 ip 的国家代码?

【问题讨论】:

    标签: php .htaccess http-redirect


    【解决方案1】:

    您可以使用 GeoIP 来查找 IP 位置,然后您可以过滤拒绝访问。

    可以通过$_SERVER['REMOTE_ADDR']找到IP地址

    参考:http://php.net/manual/en/book.geoip.php

    注意:确保您阅读了安装部分,因为它不是默认模块

    【讨论】:

    • 几乎是完美的解决方案。只是我找不到准确的数据库。我尝试使用 maxmind 网站上的 GeoIp 2 Lite 数据库,发现它不准确。当它的主数据库显示为新加坡时,它将一个ip显示为中国ip。所以我最终使用了 userinfo.io api。而且我必须坚持使用 3rd 方 api 的最初计划 :(
    • 不幸的是,GeoIP 永远不会 100% 准确。如果你想要一些准确的东西,你必须使用 GPS 坐标。大多数浏览器允许用户分享他们的位置(但需要用户接受)。此解决方案快速且大部分准确。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多