| 記事No | : 5890 |
| 投稿日 | : 2009/05/30(Sat) 10:55:53 |
| タイトル | : Web Protectについて |
| ID情報 | : nod1222 |
| 投稿者 | : natsuki |
| URL | : http://www.morinaga-natsuki.com/ |
お世話になっております。
ログインをすると認証トップページのsecret.htmlに飛びますが、
secret.htmlにはとばず、違う隠しページを表示することは可能でしょうか?もし可能なら、アドレスなどの書き込み例をご教授いただけると幸いです。
追伸:CGIに一度飛ぶと、隠しページに戻れず、認証エラーになってしまいます。
よろしくお願いします。
| 記事No | : 5899 |
| 投稿日 | : 2009/06/01(Mon) 22:41:42 |
| タイトル | : Re: Web Protectについて |
| ID情報 | : teketen |
| 投稿者 | : てけてん |
> secret.htmlにはとばず、違う隠しページを表示することは可能でしょうか?
設置構成をパターン2で行っていて、secret.htmlに直接アクセスして欲しくないから、別の名前にしたいということですか?
それなら、secret.htmlを別な名前に変更して、設定でその名前を指定して下さい。
または、隠しページが1ページしかないので、そのページを直ぐに表示させたいということですか?
それなら、そのページの名前をsecret.htmlに変更するか、設定でsecret.htmlではなくそのファイル名を指定して下さい。
どちらでもないなら、どのような事をしたいのか、もっと詳しく説明して下さい。
> 追伸:CGIに一度飛ぶと、隠しページに戻れず、認証エラーになってしまいます。
http://www.kent-web.com/pwd/protect.html
解説ページの「ジャンプ先がCGIの場合」を、確認していますか?
| 記事No | : 5906 |
| 投稿日 | : 2009/06/02(Tue) 21:49:21 |
| タイトル | : Re^2: Web Protectについて |
| ID情報 | : nod1222 |
| 投稿者 | : natsuki |
| URL | : http://www.morinaga-natsuki.com/ |
説明が足りず申し訳ありません。
secret.htmlを別の名前にかえたいのではなくて、
�〆能蕕縫蹈哀ぅ鵑靴燭箸�にsecret.html
�⊆,縫蹈哀ぅ鵑靴燭箸�に隠しページのsecret.html以外のページを表示
という順でログインした回数によって表示するページを変えたいのです。
追伸で書かせていただいた補足ですが、
最初は隠しファイルのトップページである secret.html に一旦ジャンプさせ、secret.htmlにあるCGIファイルへのリンクをクリックさせてジャンプさせます。
のように設定をしました。ジャンプしたのはメール送信フォームです。メール送信がおわり、そこに隠しページへのリンク(secret.htmlではないページ)をはったのですが、そこでリンクをクリックすると認証エラーがでてしまいます。
お手数をおかけいたします、よろしくお願いします。
| 記事No | : 5909 |
| 投稿日 | : 2009/06/03(Wed) 17:32:15 |
| タイトル | : Re^3: Web Protectについて |
| ID情報 | : teketen |
| 投稿者 | : てけてん |
> (2)次にログインしたときに隠しページのsecret.html以外のページを表示
というのが、
> メール送信がおわり、そこに隠しページへのリンク(secret.htmlではないページ)をはったのですが、そこでリンクをクリックすると認証エラーがでてしまいます。
のことと判断しました。
以下の修正を行ってみてください。
2回目の訪問でも、ログインフォームから普通にログインした時は、secret.htmlの内容を表示します。
不具合がある場合は、元に戻してください。
改造は、自己責任にてお願いします。
protect.cgi
#-------------------------------------------------
# 認証処理
#-------------------------------------------------
にある、
# クッキー格納
if ($mode eq 'enter') {
$time = time;
if ($in{'cook'} eq "") { $in{'cook'} = 0; }
&set_cookie($in{'cook'}, $time);
}
を
# クッキー格納
if ($mode eq 'enter') {
$time = time;
if ($in{'cook'} eq "") { $in{'cook'} = 0; }
&set_cookie($in{'cook'}, $time);
} else {
my $time = time;
my ($id,$pw,$tm) = (get_cookie())[0,1,3];
$cooklimit ||= 1;
if($time - $tm < $cooklimit*3600) {
$in{'id'} ||= $id;
$in{'pw'} ||= $pw;
}
}
に変更して下さい。
そして、設定部分に
# クッキーを使って、ユーザーIDとパスワードの情報のないリンクやフォームから、隠しページに移動できる有効時間を指定
# 単位は、時間。
# 有効時間は、最後にログインページからログインした時間から数えます。
$cooklimit = 1;
隠しページへの戻り先は、
<a href="http://サイトアドレス/protect.cgi?page=1">戻る</a>
のようにリンクを張って下さい。
クッキーを利用していますので、必ず一度ログイン画面よりログインする必要があります。
クッキーを無効にしているブラウザや、セキュリティソフトでクッキーを遮断している環境では、認証エラーがでます。
# ○付き文字は、機種依存文字なので、ネットでは使わないようにして下さい。