2017-01-14 5 views
2

だから2つのウェブサイトのAとBがあるiframe経由でウェブサイトをロードすると、どのIPアドレスがウェブサイトで認識されますか?

Aは、B ロードインラインフレームのページがあり、Bは次のように訪問者のIPアドレスを検出するために、バックエンドのコードがあります。

// Function to get the user IP address 
function getUserIP() { 
    $ipaddress = ''; 
    if (isset($_SERVER['HTTP_CLIENT_IP'])) 
     $ipaddress = $_SERVER['HTTP_CLIENT_IP']; 
    else if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) 
     $ipaddress = $_SERVER['HTTP_X_FORWARDED_FOR']; 
    else if(isset($_SERVER['HTTP_X_FORWARDED'])) 
     $ipaddress = $_SERVER['HTTP_X_FORWARDED']; 
    else if(isset($_SERVER['HTTP_X_CLUSTER_CLIENT_IP'])) 
     $ipaddress = $_SERVER['HTTP_X_CLUSTER_CLIENT_IP']; 
    else if(isset($_SERVER['HTTP_FORWARDED_FOR'])) 
     $ipaddress = $_SERVER['HTTP_FORWARDED_FOR']; 
    else if(isset($_SERVER['HTTP_FORWARDED'])) 
     $ipaddress = $_SERVER['HTTP_FORWARDED']; 
    else if(isset($_SERVER['REMOTE_ADDR'])) 
     $ipaddress = $_SERVER['REMOTE_ADDR']; 
    else 
     $ipaddress = 'UNKNOWN'; 
    return $ipaddress; 
} 

た場合をユーザーはAのiframeページを訪問しますが、そのIPアドレスは取得されますか?

それは、クライアントのIPアドレスが、

または

サイトAのIPアドレスになりますか?

+1

これは簡単に自分でテストできます。 'iframe'はサーバーによってロードされません。これは、クライアントがこのエリアにサイトをロードするための指示なので、クライアントのipです。 –

+0

よく、私の主な目的は、理由と同様に答えを得ることです。私はテストをすることができますが、2つのホスティング情報が必要です。:-(少し難しい。 – Codemole

+0

2つのホスティングを使う必要はありませんでした。 1つのページに同じドメインがあります。サーバーのIPアドレスまたはクライアントのIPアドレスがわかっているかどうかを確認します。このような場合の理由を尋ねる場合、またはこれが常に正しい場合は、ここにそれがあればちょうど質問。 –

答えて

2

iframe要素はnested browsing contextを表します。 iframeソースは、ユーザーのブラウザによって要求されます。 IPアドレスを確認すると、クライアントIPが取得されます。

+0

私にネストされたブラウジングcontectのアイデアを与えてくれてありがとう – Codemole

0

私はまだクライアントのIPアドレスを取得すると思いますか? iframeはほぼ同じヘッダーを送信するので、私は推測します。

クライアントのIPアドレスも送信されます。

関連する問題