質問: サーバーAでcgiでユーザーIDとパスワードで認証し、サーバーBの一般からアクセスされたくないURLに飛ばす方法を教えてください。 サーバーB側で、どのような受け口を作ればよいのかで悩んでいます。 cgi(Perl)のスキルと、Apacheのスキル少々です。 ヒントだけでもいただけましたら後は勉強します。 (1),サーバーAで、cgi(Perl)を使用してユーザー認証します。 (2),認証OKの場合、cgiからサーバーBへリダイレクトします。 (3),サーバーBでは、上記の認証OKのアクセスだけを許可します。 サーバーBには、htmlやpdfなどを置いています。 これを、.htaccessのREFERER認証を使用して、サーバーAのREFERERを持ったものだけを 通す設定にしてみました。 この場合、最初に呼んだhtmlは表示されますが、そのhtmlからimgタグで呼んだ画像などは 表示されません。 また、そのhtmlから同じディレクトリ内の他のhtmlへ飛ぶこともできません。 特にREFERER認証に拘りません。何か良い方法はありませんでしょうか。
回答: サーバBにリダイレクトした際に、クッキーで、認証したという情報を 保持させるか、サーバBにリダイレクトした際にREFERERチェックをして その際にcgi等でSESSION情報として認証したという保持させるかになるのではないかと思います。 あとは、.htaccessのREFERER認証をサーバAのものとサーバBのものを 通す設定にすれば行けるかなと思います。(上の文章を書いてて気が付いた) cgi等を使えばそれなりにできると思いますのでがんばってみてください。 (私はcgiは不得手でPHPやASPならなんとか・・・)