Web関連

リンク

HTTP-Cookie

  • クライアントからサーバに送出(ブラウザが自動的ににやる)
    サーバの指定した期限があり、それを超えたらブラウザから削除される。
    Cookie: key=value
  • サーバからクライアントに送出(CGIなどからブラウザに記憶させる) 有効期限、ホスト、パスなどを明示して記憶させる。
    Set-Cookie: key=value; host=www.example.com; path=/foo/bar.cgi

IPアドレス

IPアドレス
インターネット内の端末の識別番号。
サブネットマスク
IPアドレスからネットワークアドレスとホストアドレスを分けるための数値。
例えばサブネットマスクを 255.255.255.0 とすると
上位24ビットのIPがネットワークアドレスとなり下位8ビットがホストアドレスとなる。
ネットワークアドレスが同じなら同じ組織(ネットワーク)と考え、
ホストアドレスの違いは同一ネットワーク内の端末の違いと認識する。
ホストアドレスだけが同じ端末であってもネットワークアドレスが違えば外部ネットワークの別の端末ということになる。
ネットワークアドレス
各ネットワークを区別する識別番号。人名の苗字のようなもの
ホストアドレス
あるネットワーク内の各ホストを区別する識別番号。人名の名前のようなもの
  • イントラネットでは 192.168.0.0/16 で現されるプライベートIPアドレスを内部ネットワークの識別番号に用いている。
<?php
//文字列のIPアドレスをバイナリデータに相互変換する

$ip_bin = ip2bin('192.168.0.0');
$ip_str = bin2ip($ip_bin);
echo sprintf("%x\n", $ip_bin);
echo "$ip_str\n";

$sn_bin = snmask(16);
$sn_str = bin2ip($sn_bin);
echo "サブネットマスク:$sn_str\n";
echo "サブネットマスク(バイナリ):".sprintf("%x\n", $sn_bin);

//ネットワークの判定
$check_ip = '192.168.2.5';
echo "$check_ip は";
if( (ip2bin($check_ip) & $sn_bin) == $ip_bin ){
	echo "内部ネットワークです。\n";
}else{
	echo "外部ネットワークです。\n";
}


//文字列のIPアドレスをバイナリ値に変換
function ip2bin($ip_str){
	$ip = explode('.', $ip_str);
	$ip_bin = 0;
	for($i=0 ; $i<4 ; $i++){
		$ip_bin |= ($ip[$i] & 0xff) << (3-$i)*8;
	}
	return $ip_bin;
}
//バイナリ値を文字列のIPアドレスに変換
function bin2ip($ip_bin){
	$ip = array();
	for($i=0 ; $i<4 ; $i++){
		$ip[$i] = ($ip_bin >> (3-$i)*8) & 0xff;
	}
	return implode('.', $ip);
}

//ビット数からバイナリのサブネットマスクを生成
function snmask($bit){
	if( $bit < 1 or $bit > 31 )	return 0;
	$snmask = 0;
	for($i=0 ; $i<$bit ; $i++){
		$snmask |= 0x80000000 >> $i;
	}
	return $snmask;
}
?>

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規新規下位 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2008-10-01 (水) 02:32:55 (3244d)