ちょっと、今、このブログで、あるネタを計画してるんですけどね。
で、そこに使う要素技術として、
「あるサイトにアクセスされた人のIPアドレス
(まあ、実はホスト名でもいいんだけど)を、知る」
っていうことが必要になってくる気がした。
で、今日は、そのメモメモ。。。
■■CGI(Perl)版、
このCGIにアクセスしてきた人と、そのリファラを出す
(リファラは、別にいらないんだけど、ついでに)サンプル
#!/usr/local/bin/perl print "Content-Type: text/plain¥n¥n"; print "参照元:" . "$ENV{'REMOTE_ADDR'}¥n"; print "リファラ:" . "$ENV{'HTTP_REFERER'}¥n"; |
(上記の < > ¥ については、本当のソースでは、半角です)
■■PHP版、
このPHPにアクセスしてきた人と、そのリファラを出す
(リファラは、別にいらないんだけど、ついでに)サンプル
<HTML> <BODY> <? print "参照元" . getenv('REMOTE_ADDR'). "<br>¥n"; print "リファラ" . getenv('HTTP_REFERER') . "<br>¥n"; ?> </BODY> </HTML> |
(上記の < > ¥ については、本当のソースでは、半角です)
■■ 注意!
●ロリポップ利用者さまへ
このまま、ロリポップにアップし、属性をロリポップ推奨の700でやると、
パーミッションエラーになります。777ならOKだった。。
●リファラのチェックをしたい人へ
こういうHTMLを書いて、リンク先から、アクセスすると、はいってくるよ
<html><body> <A HREF="header.cgi">cgi版</A><BR> <A HREF="header.php">PHP版</A><BR> </body></html> |
(上記の < > ¥ については、本当のソースでは、半角です)
■■ 参考にしたサイトなど
●CGIのヘッダ一覧
http://p4room.mda.or.jp/book/cgi/env_cgi/env_cgi.cgi
●なお、PHPで、ヘッダを全部出したい場合、
apache_request_headers()については、ここ
http://php.nekosuke.net/000007.html
え、IPアドレスだけ分かったって、どこからアクセスしてきたか、ホスト名がわかんなきゃ意味ないじゃんって(-_-)
はいはい、そういう人のために、IPからホスト名がわかるプログラムの書き方、みつけておきました。
ここです。http://www.bellcall.co.jp/iphenkan.htm
ごめん、ウィリアムのいたずらが、あとでお遊びで、このブログでやろうとしている企画には、ホスト名は必要ないので、詳しく見てません。ごめん