• ベストアンサー

素人なんでお教え下さい。

CGIの解説書で、良く、パスワードによるアクセス制限で、ログイン後の pageに「ようこそ!」とか、ただそれだけしかPRINTされていない HOWTO本はいくらでもあるのですが、実際には、ログインした後の HTMLのページをどこへどういうふうに格納したらいいのか 皆目検討も付きません。 ログイン後のページが「ようこそ!」だけのページなんて普通ないですよね? 実際にもっと複雑な「HTML」で書かれた複数のページを 保護しようとする場合、パスワードのページ以降、 どのようにして制御するのでしょうか? 素人なので、詳しいHPなんかがあれば是非それもお教え下さいませ。 よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • ikspiari
  • ベストアンサー率48% (29/60)
回答No.2

Perlの話でしょうか? PHPならセッションで管理できそうですが。 Perlなら、隠しディレクトリにHTMLを全て置いといて アクセス制限のCGIのQUERY_STRINGにHTMLのファイル名を渡して、 そのCGIが起動される都度にHTTP_COOKIEで認証が有効かどうかを判断してから HTMLをCGIで読み込んで表示させるというのはどうでしょう? あまりスマートな方法ではないですね。 # .htaccessでBASIC認証かけるのが手っ取り早いんですが。

welovekobe
質問者

お礼

早々に、どうも有難うございます。 やはり、そういう風にするしかないんですかね。 BASIC認証ならフォルダ毎かけれるのは聞いたことあるのですが、 CGIの場合だと、httpではアクセスできない 「private_htmlフォルダ」なんかを上位に作成して、その中に全部いれてしまう わけですよね。 その場合、そのフォルダ内のページ間、つまり、横同士のPAGE のアクセスリンクはどのように貼ったらよいのでしょうかね。 これが分からなくて実はご質問させて頂いております。 どうも有難うございました。また、何かご存知でしたら、是非、お願いします。 ではでは。

その他の回答 (2)

  • ikspiari
  • ベストアンサー率48% (29/60)
回答No.3

ファイルをopen関数で読み込んで出力する際にリンクを書き換えるというはどうでしょう? もしくは予め全てのHTMLにCGIとQUERY_STRINGの記述をしておくとか。 う~ん、スマートじゃないですねぇ。

welovekobe
質問者

お礼

どうも何度もすみません。 小生、cgiというかPERLは全然分かりませんので、 これ以上お伺いしてもかえってお手数かけてしまいそうです。 open関数というのを勉強してみます。どうもいろいろ有難うございました。 それでは、失礼します。

  • master-3rd
  • ベストアンサー率35% (582/1641)
回答No.1

そのスクリプトにもよるでしょうけど、とりあえず同じフォルダに格納したら良いのでは? 「ようこそ!」をそのCGI内で検索するとHTMLで表記された部分がわかると思います。 そこを書き換えJAVAで数秒後に別ページに飛ぶスクリプトを仕込み、ページには「何秒後に新しいページに移動します。動かないときはここをクリック」と書き換えます。 これで何とかなるのでは?

welovekobe
質問者

お礼

早々のお返事どうも有難うございます。 なるほど。そういうやり方もいいですね。 しかし、何秒後かに飛んでしまうとログインしたお客さんにも 見せれないのでは・・・?良くは分かりませんが・・・ 「直リンクを防止する」方法は何か他にないでしょうか? よろしくお願いします。 BASIC認証は今は考えないものとします。 ではでは。

関連するQ&A