現在の接続がインターネットまたはphpスクリプトを使用したイントラネットを介しているかどうかを判断できる方法はありますか。
ありがとう.....
$_SERVER["HTTP_HOST"]
変数を使用して、それがlocalhost
または他の IP アドレスであるかどうかを取得できます。
$_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