記事No | : 9257 |
投稿日 | : 2011/09/28(Wed) 09:48:25 |
タイトル | : WebProtect動いているがtop.htmlに行かず |
ID情報 | : hananone |
投稿者 | : hananone |
URL | : http://www.kitasaika.com/protect/ |
WebProtect Ver.4.11
ウェブ上からアクセスできないディレクトリを作成出来るサーバー(iSLE)だと思います。
【パターン1】の通り、設置し、check.cgiを実行しても ALL OK になります。
Perlバージョン: 5.008007
会員ファイル位置: OK
会員ファイルパーミッション: OK
パスワードファイル位置: OK
パスワードファイルパーミッション: OK
アクセス履歴ファイル位置: OK
アクセス履歴ファイルパーミッション: OK
テンプレートディレクトリ位置: OK
隠しディレクトリ位置: OK
セッションディレクトリ位置: OK
セッションディレクトリパーミッション: OK
sendmail位置: OK
admin.cgi も問題無く動いています。
ウェブ上からの自動登録も問題はなく、dataディレクトリの.memberにデータも作成されています。
ただし、enter.cgiを実行し、IDとパスワードを入力しログオンすると、「画面が表示されました」となりますが、真っ白なままで、どうもtop.htmlにはたどりついていないようです。
ただ、パスワードの認証はしているようで、認証作業の後にhttp://〜 〜/protect/protect.cgi を実行すると、privateディレクトリ内のtop.htmlに行きます。
ログアウトも正常に出来ます。
何が原因で、どうなっているのか、単なる操作方法なのか分かりません。
お手数ですが、どなたか良いアドバイスをお願いします。
参照URL: http://www.kitasaika.com/protect/check.cgi
http://www.kitasaika.com/protect/enter.cgi (ID:guest, pass:guest でログインできます。)
記事No | : 9260 |
投稿日 | : 2011/09/29(Thu) 09:40:52 |
タイトル | : Re: WebProtect動いているがtop.htmlに行かず |
ID情報 | : kent |
投稿者 | : KENT |
> ただし、enter.cgiを実行し、IDとパスワードを入力しログオンすると、「画面が表示されました」となりますが、真っ白なままで、どうもtop.htmlにはたどりついていないようです。
パスワード制限の質問は、ディレクトリ・ファイル構成と設定内容(init.cgi)を公開していただかないと回答できないと思います。
記事No | : 9265 |
投稿日 | : 2011/09/29(Thu) 18:31:34 |
タイトル | : Re^2: WebProtect動いているがtop.htmlに行かず |
ID情報 | : hananone |
投稿者 | : hananone |
URL | : http://www.kitasaika.com/protect/ |
> > ただし、enter.cgiを実行し、IDとパスワードを入力しログオンすると、「画面が表示されました」となりますが、真っ白なままで、どうもtop.htmlにはたどりついていないようです。
>
> パスワード制限の質問は、ディレクトリ・ファイル構成と設定内容(init.cgi)を公開していただかないと回答できないと思います。
===================================
申し訳ありません。
ディレクトリ・ファイルの構成、パーミッションの設定は以下の通りです。
─wwwroot┬public(www.kitasaika.com)┬protect protect.cgi[705]
│ │ │ manager.cgi[705]
│ │ │ init.cgi [604]
│ │ │ enter.cgi [705]
├private top.html │ check.cgi [705]
│ file1.html │ admin.cgi [705]
│ file2.html │
│ file3.html ├tmpl massage.html
│ sample.pdf │ mail.txt
├ses[707] │ :
│ │
│ └lib Jcode.pm
├data .member [606] │ :
│ .htpasswd[606] │
│ .axslog [606] ├Scalar
├List
├Jcode
└CGI
init.cgiは以下の通りです。
#=====================================================================
# ▼設定項目
#=====================================================================
# 管理用パスワード
$cf{password} = '■■■■';
# パスワード発行形態
# 1 : ユーザからの発行&メンテを可能にする
# 2 : 発行は管理者のみ。ユーザはメンテのみ
# 3 : 発行&メンテは管理者のみ(index.htmlは不要)
$cf{pwd_regist} = 2;
# 管理者メールアドレス
# → $cf{pwd_regist} = 1; のとき
$cf{master} = 'admin@kitasaika.com';
# sendmailパス【サーバパス】
# → $cf{pwd_regist} = 1; のとき
$cf{sendmail} = 'c:\sendm\sendmane.exe';
# sendmailの -fオプション
# → サーバ仕様で必要な場合
$cf{sendm_f} = 0;
# 認証後の有効時間(分)
# → 初期ログインしてからの有効時間
$cf{job_time} = 60;
# 隠しファイル(トップ)
# → ""の中にファイル名のみを記述
${$cf{secret}}[0] = "top.html";
# 以下は隠しファイル(次ページ以降分)
# → [1][2][3]... と続ける。""の中にファイル名のみを記述。
# → CGIの場合はhttp://から記述する。
${$cf{secret}}[1] = "file1.html";
${$cf{secret}}[2] = "file2.html";
${$cf{secret}}[3] = "file3.html";
# バイナリファイル
# → キー(左方)はパラメータ
# → 値(右方)は順に、「ヘッダー」「拡張子」をコンマで区切り
$cf{binary} = {
gif => "image/gif,gif",
jpeg => "image/jpeg,jpg",
pdf => "aplication/pdf,pdf",
excel => "application/ms-excel,xls",
};
# 隠しディレクトリ【サーバパス】
# → 外部から直接アクセスできない場所のほうがよい
$cf{prvdir} = '../../private';
# セッションディレクトリ【サーバパス】
$cf{sesdir} = "../../ses";
# パスワードファイル【サーバパス】
$cf{pwdfile} = '../../data/.htpasswd';
# アクセス履歴ファイル【サーバパス】
$cf{logfile} = '../../data/.axslog';
# 会員ファイル【サーバパス】
$cf{memfile} = '../../data/.member';
# テンプレートディレクトリ【サーバパス】
$cf{tmpldir} = "./tmpl";
# 本体プログラムURL【URLパス】
$cf{protect_cgi} = './protect.cgi';
# 入室プログラムURL【URLパス】
$cf{enter_cgi} = './enter.cgi';
# 登録プログラムURL【URLパス】
$cf{manager_cgi} = './manager.cgi';
# 管理プログラムURL【URLパス】
$cf{admin_cgi} = './admin.cgi';
# 最大受理サイズ
# → プログラムとして受理可能なサイズ
# → Byteで指定する [例] 1024 = 1KB
$cf{maxdata} = 102400;
# アクセスログ最大保持数
$cf{max_log} = 300;
# 1ページ当り会員表示件数(管理画面)
$cf{pg_max} = 10;
# ユーザ登録アクセス制限(半角スペースで区切る)
# → 拒否するホスト名又はIPアドレスを記述(アスタリスク可)
# → 記述例 $deny = '*.anonymizer.com 211.154.120.*';
$cf{deny} = '';
# ホスト取得方法
# 0 : gethostbyaddr関数を使わない
# 1 : gethostbyaddr関数を使う
$cf{gethostbyaddr} = 0;
# パスワード発行形態をユーザ操作にした場合の完了画面の戻り先【URLパス】
$cf{back_url} = "../index.html";
#=====================================================================
# ▲設定完了
#=====================================================================
前後書き換えなしのため省略しています。
よろしくお願いします。
記事No | : 9271 |
投稿日 | : 2011/09/30(Fri) 09:13:56 |
タイトル | : Re^3: WebProtect動いているがtop.htmlに行かず |
ID情報 | : kent |
投稿者 | : KENT |
> ディレクトリ・ファイルの構成、パーミッションの設定は以下の通りです。
Windowsサーバ(IIS)なのでしょうか?
enter.cgi 73行目を修正してみるとどうなりますか?
■変更前
# リダイレクト
print "Set-Cookie: CGISESSID=$sid;\n";
print "Location: $cf{protect_cgi}\n\n";
exit;
■変更後
# リダイレクト
if ($ENV{PERLXS} eq "PerlIS") {
print "HTTP/1.0 302 Temporary Redirection\r\n";
print "Content-type: text/html\n";
}
print "Set-Cookie: CGISESSID=$sid;\n";
print "Location: $cf{protect_cgi}\n\n";
exit;
記事No | : 9274 |
投稿日 | : 2011/09/30(Fri) 19:10:57 |
タイトル | : Re^4: WebProtect動いているがtop.htmlに行かず |
ID情報 | : hananone |
投稿者 | : hananone |
URL | : http://www.kitasaika.com/protect/ |
はい、IISサーバーです。
ばっちり、です!!
有り難う御座います。
当方の勉強不足を痛感いたします。有り難う御座いました!
> > ディレクトリ・ファイルの構成、パーミッションの設定は以下の通りです。
>
> Windowsサーバ(IIS)なのでしょうか?
> enter.cgi 73行目を修正してみるとどうなりますか?
>
> ■変更前
> # リダイレクト
> print "Set-Cookie: CGISESSID=$sid;\n";
> print "Location: $cf{protect_cgi}\n\n";
> exit;
>
> ■変更後
> # リダイレクト
> if ($ENV{PERLXS} eq "PerlIS") {
> print "HTTP/1.0 302 Temporary Redirection\r\n";
> print "Content-type: text/html\n";
> }
> print "Set-Cookie: CGISESSID=$sid;\n";
> print "Location: $cf{protect_cgi}\n\n";
> exit;
>