PHPで環境変数の情報を取得する。

echo 'ブラウザ'.h($_SERVER['HTTP_USER_AGENT'])."<br>";
echo 'IPアドレス'.h($_SERVER['REMOTE_ADDR'])."<br>";
//@は存在しない時にエラーが出ないように。
echo '参照元'.h(@$_SERVER['HTTP_REFERER'])."<br>";

echo '<pre>';
var_dump(h($_SERVER));
echo '</pre>';


function h($var){
    if(is_array($var)){
        return array_map('h',$var);
    }else{
        return htmlspecialchars($var,ENT_QUOTES);
    }
}

上記で3つの値を取得していますが、その他の値もいくつか取得が出来るため、var_dumpで中身を出力しているので確認してください。

また、内容では

echo '参照元'.h(@$_SERVER['HTTP_REFERER'])."<br>";

と@を利用するとエラーがでなくなります。

h($var)

は、array_mapという関数で、配列を個別に実行する。と言うことができます。

また、出力の値が悪さをできないようにする為に

htmlspecialchars($var,ENT_QUOTES);

でエスケープしています。

ENT_QUOTESに関しては記事の訂正:PHPのhtmlspecialcharsにはENT_QUOTESを付けるを参照

  • written on 2012.10.25
  • category : php

Next / Prev

前の記事:

次の記事:

Same Category

Page top↑