水曜日, 9月 11, 2013

BC test

木曜日, 9月 05, 2013

クエリストリングスをアクセス時間と一緒にテキストファイルに書き込むphp

クエリストリングスをアクセス時間と一緒にログに保存するphpです。


HTTPステータスコード200だけを受け取れればいいような場合、「it works」のようなページを開いてapacheログを見れば結果がわかるんですが、apacheログをリアルタイムに表示させてくれないさ●らインターネットのようなレンサバで同様なテストをしたいときにこれを使うと便利ですw


使い方

サーバーにstring_log.phpを644、string_log.logは666で設置する。
string_log.phpに?key=xxx&name=xxx&color=xxxのようなクエリストリングスをつけてアクセスする。
たとえば
http://your server/string_log.php?key=hogehoge&name=Manaka&color=red

というようにアクセスした場合、keyがあらかじめ指定してあるパスワードに合致していればログファイルであるstring_log.logに

2013-09-05 04:24:39 - name:Manaka - color:red

と保存される。


string_log.php


<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=Shift_JIS">
<title>string_log.php</title>
</head>
<body>
<?php

 $date = gmdate( 'Y-m-d H:i:s' );
 $key = $_GET["key"];
 $name = $_GET["name"];
 $color = $_GET["color"];
 $ipaddr = $_SERVER['REMOTE_ADDR'];

if($key == hogehoge) {
   $fp = fopen( 'string_log.log', 'a+');
   fwrite($fp, "\n\n$date - name:$name - color:$color");
   fclose($fp);
} elseif ($key == ip) {
   echo $ipaddr;
} else {
   echo '<p>it works.</p>';
}

?>
</body>
</html>


解説


<?php ←php開始
 $date = gmdate( 'Y-m-d H:i:s' ); ←変数dateにYYYY-MM-DD HH:MM:SSを代入する
 $key = $_GET["key"]; ←変数$keyにクエリの?key=""を代入する
 $name = $_GET["name"]; ←変数$nameにクエリの?name=""を代入する
 $color = $_GET["color"]; ←変数$colorにクエリの&color=""を代入する
 $ipaddr = $_SERVER['REMOTE_ADDR']; ←変数$ipaddrに接続元のIPアドレスを代入する
if($key == hogehoge) { ←もし$keyがhogehogeなら
   $fp = fopen( 'string_log.log', 'a+'); ←ファイルを追記専用で開く
   fwrite($fp, "\n\n$date - name:$name - color:$color"); ←変数などをファイルに書き込む
   fclose($fp); ←ファイルを閉じる
} elseif ($a == ip) { ←もし$keyがipなら
   echo $ipaddr; ←ブラウザに接続元のIPアドレスを表示する
} else { ←もし$keyがない、またはそれ以外なら
   echo '<p>it works.</p>'; ←ブラウザに指定した文字列を表示する
}
?> ←php終了

メモ・参考情報


  •  クエリストリングス(?以降の文字列)の取得はスーパーグローバル変数「$_GET」を使う
     例)ファイルへ書き込みでなく、htmlページに出力する場合には
<p>name : <?php echo $_GET["name"]; ?></p>
<p>color : <?php echo $_GET["color"]; ?></p>
  • ファイルへの追記(追記="a" 書き込み="w" 読み込み専用="r")
<?php
$fp = fopen("access.log", "a");
fwrite($fp, "ここに書かれたものを書き込みます");
fclose($fp);
?>
  • クエリストリングスがあるかないか確認する
※引用元 http://zxcvbnmnbvcxz.com/php-query_string/
<?php
if(!empty($_SERVER['QUERY_STRING'])){
echo 'あるよ';
}else{
echo 'ないよ';
}
?>
  • メモ phpinfo.php
<?php
phpinfo();
?>

火曜日, 9月 03, 2013

【どうでもいい】fping 結果いろいろ【わりと】

誰も求めてないが自分のためのfpingメモ

【OS】
Manaka@server$ uname -a
Linux server 2.6.18-194.el5 #1 SMP Tue Mar 16 21:52:39 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux
Manaka@server$


【fping バージョン】
Manaka@server$ ./fping -v
./fping: Version 2.4b2_to $Date: 2002/01/16 00:33:42 $
./fping: comments to david@remote.net
Manaka@server$

【よく使うオプション -e -A】


  • 引いたアドレスを教えてくれる。
  • round-trip timeも教えてくれる。

Manaka@server$ /usr/sbin/fping -e -A www.google.com
173.194.38.112 is alive (3.76 ms)
Manaka@server$


【fping 結果いろいろ】
Manaka@server$ ./fping 8.8.8.8
8.8.8.8 is alive
Manaka@server$ 
Manaka@server$ ./fping -a 8.8.8.8
8.8.8.8
Manaka@server$ 
Manaka@server$ ./fping -A 8.8.8.8
8.8.8.8 is alive
Manaka@server$ 
Manaka@server$ ./fping -b 8 8.8.8.8
8.8.8.8 is alive
Manaka@server$ 
Manaka@server$ ./fping -c 1 8.8.8.8
8.8.8.8 : [0], 92 bytes, 35.5 ms (35.5 avg, 0% loss)
8.8.8.8 : xmt/rcv/%loss = 1/1/0%, min/avg/max = 35.5/35.5/35.5
Manaka@server$ 
Manaka@server$ ./fping -C 1 8.8.8.8
8.8.8.8 : [0], 92 bytes, 35.5 ms (35.5 avg, 0% loss)
8.8.8.8 : 35.54
Manaka@server$ 
Manaka@server$ ./fping -e 8.8.8.8
8.8.8.8 is alive (36.5 ms)
Manaka@server$ 
Manaka@server$ ./fping -l 8.8.8.8
8.8.8.8 : [0], 92 bytes, 36.1 ms (36.1 avg, 0% loss)
8.8.8.8 : [1], 92 bytes, 36.0 ms (36.0 avg, 0% loss)
8.8.8.8 : [2], 92 bytes, 36.1 ms (36.1 avg, 0% loss)
8.8.8.8 : xmt/rcv/%loss = 3/3/0%, min/avg/max = 36.0/36.1/36.1
Manaka@server$ 
Manaka@server$ ./fping -m 8.8.8.8
8.8.8.8 is alive
Manaka@server$ 
Manaka@server$ ./fping -n 8.8.8.8
google-public-dns-a.google.com is alive
Manaka@server$ 
Manaka@server$ ./fping -p 1000 8.8.8.8
8.8.8.8 is alive
Manaka@server$ 
Manaka@server$ ./fping -q 8.8.8.8
Manaka@server$ 
Manaka@server$ ./fping -r 3  8.8.8.8
8.8.8.8 is alive
Manaka@server$ 
Manaka@server$ ./fping -s 8.8.8.8
8.8.8.8 is alive
       1 targets
       1 alive
       0 unreachable
       0 unknown addresses
       0 timeouts (waiting for response)
       1 ICMP Echos sent
       1 ICMP Echo Replies received
       0 other ICMP received
 36.6 ms (min round trip time)
 36.6 ms (avg round trip time)
 36.6 ms (max round trip time)
        0.046 sec (elapsed real time)
Manaka@server$ 
Manaka@server$ ./fping -t 100 aol.com
aol.com is unreachable
Manaka@server$ 
Manaka@server$ ./fping -u 8.8.8.8 
Manaka@server$ 
Manaka@server$ ./fping -u aol.com
aol.com
Manaka@server$