0

現在の接続がインターネットまたはphpスクリプトを使用したイントラネットを介しているかどうかを判断できる方法はありますか。

ありがとう.....

4

2 に答える 2

1

$_SERVER["HTTP_HOST"]変数を使用して、それがlocalhostまたは他の IP アドレスであるかどうかを取得できます。

于 2013-08-28T07:26:23.047 に答える
1

$_SERVER['REMOTE_ADDR'] に対して $_SERVER['SERVER_ADDR'] をチェックできます。IP の最初の番号が同じで、192、172、10、または 127 である場合、それはおそらくイントラネット ページです。

このような:

function is_intranet() {
  $serverIP = explode('.',$_SERVER['SERVER_ADDR']);
  $localIP  = explode('.',$_SERVER['REMOTE_ADDR']);
  return ( 
    ($serverIP[0] == $localIP[0]) && 
    (in_array($serverIP[0],array('127','10','172','192') ) ) 
  );
}

これは、次のルールを使用して少し改善できます: http://en.wikipedia.org/wiki/Private_network

于 2013-08-28T08:00:18.760 に答える