使用php阻止国家IP

时间:2017-11-30 13:59:46

标签: php

所以我有以下代码:

        $ip = getenv('HTTP_CLIENT_IP') ?: getenv('HTTP_X_FORWARDED_FOR') ?: getenv('HTTP_X_FORWARDED') ?: getenv('HTTP_FORWARDED_FOR') ?: getenv('HTTP_FORWARDED') ?: getenv('REMOTE_ADDR');
        $details = json_decode(file_get_contents("http://ipinfo.io/$ip/json"));

    if ($details->country == US):
    {
       echo "We are sorry, We cannot allow users from United States";
       die();
    }
    elseif ($details->country == GB):
    {
       echo "We are sorry, We cannot allow users from United Kingdom";
       die();
{
else:
show index script

问题是,一些美国和英国用户仍然可以看到索引

2 个答案:

答案 0 :(得分:0)

看起来你正在与一个名为US或GB的常量进行比较。您可能想要检查字符串。

$details->country === 'US'

答案 1 :(得分:-1)

问题发生在http://ipinfo.io/ $ ip / json我得到超出速率限制错误。