KENT-WEB サポートコーナー 過去ログ [ 0069 ]


記事No: 9257
投稿日: 2011/09/28(Wed) 09:48:25
タイトルWebProtect動いているがtop.htmlに行かず
ID情報: hananone
投稿者: hananone
URLhttp://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
URLhttp://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
URLhttp://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;
>


[検索ページ]