2016-10-21 10 views
-2

特定のIPアドレスにしかアクセスできないページを作った。ローカルホストにアクセスしたときの私のipは何ですか

コード:

// IP's that are allowed. 
$allow = array("123.456.7.89", "987.654.3.21"); //allowed IPs 

if(!in_array($_SERVER['REMOTE_ADDR'], $allow) && !in_array($_SERVER["HTTP_X_FORWARDED_FOR"], $allow)) { 

header("Location: http://www.google.com"); //redirect 

exit(); 

} 

しかし、私は私のローカルホストを訪れた場合、それは私のIPを許可するIPとして埋めるために何0.0.0.0

であると言うので、私はそれを訪問することはできませんか?

+1

許可された両方のIPは存在しません。 – jmattheis

+0

@jmattheisこれは2 ipの例です。 – Julian

+0

まだ各ブロックは456と987を持っているので8ビット(0-255)しか取れませんが、有効なIPではありません。 – jmattheis

答えて

0

別のデバイス上でローカルホストを訪れてみて、そのIPを使用しています。

+0

私は今それをやっています!ありがとう。 – Julian

+0

問題はありません、それは単に良い方法ではありません。 @マイク – Julian

0

有効なIPアドレスを取得しているかどうかを確認してください。

これを試してみてください:

$ip = !empty($_SERVER['HTTP_CLIENT_IP']) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR']; 

var_dump($ip); // Check if IP is valid 

$allow = array("123.456.7.89", "987.654.3.21"); //allowed IPs 

if (!in_array($ip, $allow)) { 
    header("Location: http://www.google.com"); //redirect 
    exit(); 
} 

参考:How to get the client IP address in PHP?

+0

localhostにアクセスすると、ipよりも入力する必要があるのは何ですか?なぜなら私は私の携帯電話で私は有効なIPを取得しているので、私は許可されたIPのそれを入れて動作します。しかし私は動作しません私のPCの0.0.0.0を得ています。 – Julian

関連する問題