#!/usr/bin/perl
# ------------------------------- スクリプト情報
#
# Easy Password ver.1.0
# Programmed by Koji Dokai
#
# URL : http://www.inside.ne.jp/
# E-mail : info@inside.ne.jp
# ------------------------------------- 初期設定
$script = './auth.cgi'; # ---- 認証スクリプト
$passwd = 'zth2412'; # ---- パスワード
$page = 'only-the-member.html'; # ---- 認証後の表示ページ
$title = '社団法人 徳島県鍼灸マッサージ師会(会員専用ページ)'; # ---- 入力画面のタイトル
$body = '
'; # ---- 背景、文字色
# ------------------------------------- 分岐処理
&decode;
if ($state eq 'login') {
if ($passwd eq $pwd) {
&login;
} else {
&error('パスワードが間違っています');
}
} else {
&html;
}
exit;
# ------------------------------------- 入力画面
sub html {
print "Content-type: text/html\n\n";
print <<_HTML_;
$title
$body
$title
非会員の方は、ご遠慮ください。
_HTML_
# 以下の著作権表示を削除、改ざんすることは禁止されています
print <<_HTML_;
Easy Password developed
by Inside Web
_HTML_
}
# ------------------------------------- 認証OK
sub login {
print "Content-type: text/html\n\n";
print `cat $page`;
}
# ----------------------------- フォームデコード
sub decode {
if ($ENV{'REQUEST_METHOD'} =~ /POST/i) { read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); }
else { $buffer = $ENV{'QUERY_STRING'}; }
if ($buffer eq '') { return; }
@lists = split(/&/, $buffer);
foreach (@lists) {
($key, $val) = split(/=/, $_);
$val =~ tr/\+/ /;
$val =~ s/%(..)/pack("c", hex($1))/ge;
$val =~ s/(\r|\n|\t)//g;
${"$key"} = $val;
}
}
# ----------------------------------- エラー処理
sub error {
print "Content-type: text/html\n\n";
print <<_HTML_;
$title
$body
ERROR : $_[0]