warning: Creating default object from empty value in /var/www/drupal-5.23/modules/taxonomy/taxonomy.module on line 1418.
ウェブページへのアクセスログを記録する方法は、いろいろな方法があると思う。もっとも簡単なのは Apache などのウェブサーバが自動的に記録するログをチェックすることで、これには何の手間もいらない。しかし、レンタルサーバなどでログが自由に扱えない場合はどうしたらいいのだろう?
そのひとつが、
画像としてリンクされている Perl などの CGI を呼び出す方法だ。利用者に知られずこっそりとアクセスログを取るには 1x1 ピクセルの画像をそのウェブページの背景と共に表示してしまえば、そのウェブページのソースをチェックされない限り、ほとんどの場合は気づかれずにすむだろう。
そんなわけで、以下のように JavaScript と対応する Perl スクリプトで、アクセスログを記録する仕組みを作ってみた。ログの形式は Apache に準拠する(たぶん)。
ウェブページへのアクセスログを記録する方法は、いろいろな方法があると思う。もっとも簡単なのは Apache などのウェブサーバが自動的に記録するログをチェックすることで、これには何の手間もいらない。しかし、レンタルサーバなどでログが自由に扱えない場合はどうしたらいいのだろう?
そのひとつが、
画像としてリンクされている Perl などの CGI を呼び出す方法だ。利用者に知られずこっそりとアクセスログを取るには 1x1 ピクセルの画像をそのウェブページの背景と共に表示してしまえば、そのウェブページのソースをチェックされない限り、ほとんどの場合は気づかれずにすむだろう。
そんなわけで、以下のように JavaScript と対応する Perl スクリプトで、アクセスログを記録する仕組みを作ってみた。ログの形式は Apache に準拠する(たぶん)。
Posted on 2006-09-18 by yas |
Radius サーバに接続するためには、そのホスト名と
シークレットが必要である。シークレットは Radius サーバへのパスワードみたいなもの。以下のコードでは $r に Radius クライアントのオブジェクトが入り、その後で $USENAME と $PASSWORD を使って $HOST にアクセスしている。
使用するモジュール
use Authen::Radius;
#!/usr/bin/perl
use Authen::Radius;
our $HOST = '1.1.1.1';
our $USERNAME = 'perltips';
our $PASSWORD = 'password';
our $SECRET = 'testing123';
# First Trial
$r = new Authen::Radius(Host => $HOST,
Secret => $SECRET,
Debug => 1,
TimeOut=> 10);
# 前座。ユーザー名とパスワードのチェックをしてみる。
print "auth result=", $r->check_pwd($USERNAME,
$PASSWORD,
$HOST), "\n";
# Authen::Radius->load_dictionary();
# 本番。ユーザー名とパスワードのチェックを設定する。
$r->add_attributes (
{ Name => 'UserName', Value => $USERNAME },
{ Name => 'Password', Value => $PASSWORD },
# { Name => 'NAS-IP-Address', Value => '1.1.1.2' }
#
# RFC 2865 https://www.ietf.org/rfc/rfc2865.txt calls this attribute
# User-Password. Check your local RADIUS dictionary to find
);
# ユーザー名とパスワードの組み合わせ (アトリビュート:属性) を、ACCESS_REQUEST で送る。
# そうすると返事が返って来るので recv_packet で受け取る。
$r->send_packet(ACCESS_REQUEST) and $type = $r->recv_packet();
print "server response type = $type\n";
# サーバから送られてきたアトリビュートを表示してみる。
for $a ($r->get_attributes()) {
print "attr: name=$a->{'Name'} value=$a->{'Value'}\n";
}
Radius サーバに接続するためには、そのホスト名と
シークレットが必要である。シークレットは Radius サーバへのパスワードみたいなもの。以下のコードでは $r に Radius クライアントのオブジェクトが入り、その後で $USENAME と $PASSWORD を使って $HOST にアクセスしている。
使用するモジュール
use Authen::Radius;
#!/usr/bin/perl
use Authen::Radius;
our $HOST = '1.1.1.1';
our $USERNAME = 'perltips';
our $PASSWORD = 'password';
our $SECRET = 'testing123';
# First Trial
$r = new Authen::Radius(Host => $HOST,
Secret => $SECRET,
Debug => 1,
TimeOut=> 10);
# 前座。ユーザー名とパスワードのチェックをしてみる。
print "auth result=", $r->check_pwd($USERNAME,
$PASSWORD,
$HOST), "\n";
# Authen::Radius->load_dictionary();
# 本番。ユーザー名とパスワードのチェックを設定する。
$r->add_attributes (
{ Name => 'UserName', Value => $USERNAME },
{ Name => 'Password', Value => $PASSWORD },
# { Name => 'NAS-IP-Address', Value => '1.1.1.2' }
#
# RFC 2865 https://www.ietf.org/rfc/rfc2865.txt calls this attribute
# User-Password. Check your local RADIUS dictionary to find
);
# ユーザー名とパスワードの組み合わせ (アトリビュート:属性) を、ACCESS_REQUEST で送る。
# そうすると返事が返って来るので recv_packet で受け取る。
$r->send_packet(ACCESS_REQUEST) and $type = $r->recv_packet();
print "server response type = $type\n";
# サーバから送られてきたアトリビュートを表示してみる。
for $a ($r->get_attributes()) {
print "attr: name=$a->{'Name'} value=$a->{'Value'}\n";
}
Posted on 2006-08-31 by yas |
RedHat / Fedora 系の場合は、
0=停止
1=シングルユーザーモード
2=NFSを使用しないテキストログインモード(マルチユーザーモード)
3=テキストログインモード(マルチユーザーモード)
4=未使用?
5=GUIログインモード(マルチユーザーモード)
6=再起動
RedHat / Fedora 系の場合は、
0=停止
1=シングルユーザーモード
2=NFSを使用しないテキストログインモード(マルチユーザーモード)
3=テキストログインモード(マルチユーザーモード)
4=未使用?
5=GUIログインモード(マルチユーザーモード)
6=再起動
Posted on 2006-08-10 by yas |
「
Perl で、デーモン (Daemon) のプログラムを書くには?」ではタイトルの通り、Perl でデーモンのプログラムを書く方法を紹介した。
それでは、せっかく Perl で書けたこのデーモンプログラム(Perl スクリプト)、Linux で自動起動させてあげるにはどうしたらいいのだろうか?
- 以下のスクリプトの青字の部分を修正する。
- .pl には、Perl で書いたデーモンのスクリプト名が入る。
- /var/www/cgi-bin/your_service_dir には、上のスクリプトを置いた場所が入る。
- 以下のシェルスクリプトを your_service_manager など、自分の好きなファイル名にして、/etc/rc.d/init.d に保存する。
- スクリプトは実行できるようにしておくこと。
$ chmod +x your_service_manager
「
Perl で、デーモン (Daemon) のプログラムを書くには?」ではタイトルの通り、Perl でデーモンのプログラムを書く方法を紹介した。
それでは、せっかく Perl で書けたこのデーモンプログラム(Perl スクリプト)、Linux で自動起動させてあげるにはどうしたらいいのだろうか?
- 以下のスクリプトの青字の部分を修正する。
- .pl には、Perl で書いたデーモンのスクリプト名が入る。
- /var/www/cgi-bin/your_service_dir には、上のスクリプトを置いた場所が入る。
- 以下のシェルスクリプトを your_service_manager など、自分の好きなファイル名にして、/etc/rc.d/init.d に保存する。
- スクリプトは実行できるようにしておくこと。
$ chmod +x your_service_manager
Posted on 2006-08-07 by yas |