#!/usr/bin/perl #┌───────────────────────────────── #│ LOG IN v1.5 (2002/06/06) #│ Copyright(C) Kent Web 2002 #│ webmaster@kent-web.com #│ https://www.kent-web.com/ #└───────────────────────────────── $ver = 'Login v1.5'; #┌───────────────────────────────── #│ [注意事項] #│ 1. このスクリプトはフリーソフトです。このスクリプトを使用した #│ いかなる損害に対して作者は一切の責任を負いません。 #│ 2. 設置に関する質問はサポート掲示板にお願いいたします。 #│ 直接メールによる質問は一切お受けいたしておりません。 #│ 3. methodプロパティ は POST 専用です #└───────────────────────────────── # 【 設置例 】 # # public_html / index.html (トップページ等) # | # +-- cgi-bin / login.cgi [755] # secret.cgi [644] ... 隠しファイル # (HTMLの拡張子を.cgi に変更) # #============# # 設定項目 # #============# # パスワード(半角英数字) $pass = 'rumin100'; # スクリプト名 $script = "./rumin.cgi"; # 隠しファイル(HTMLの拡張子を .cgi に変える) # 例 → secret.html だと secret.cgi に変更 # もし隠しファイルが本来のCGIファイルであれば、https://からURLを指定 $secret = './rummin.cgi'; # 認証ページからの戻り先 (index.htmlなど) $home = "../index.htm"; # bodyタグ $body = '
'; #============# # 設定完了 # #============# # デコード処理 if ($ENV{'REQUEST_METHOD'} eq "POST") { read(STDIN, $buf, $ENV{'CONTENT_LENGTH'}); } foreach (split(/&/, $buf)) { local($key, $val) = split(/=/); $val =~ tr/+/ /; $val =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; # セキュリティ対策 $val =~ s/&/&/g; $val =~ s/"/"/g; $val =~ s/</g; $val =~ s/>/>/g; $val =~ s/\0//g; $in{$key} = $val; } if ($in{'pass'} ne "") { &login; } # 認証画面を表示 &header; print <<"EOM"; [戻る]