• 締切済み

サーバーAでcgiで認証し、サーバーBへ飛ばす

サーバー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認証に拘りません。何か良い方法はありませんでしょうか。

みんなの回答

  • cbd_mei
  • ベストアンサー率55% (143/259)
回答No.1

サーバBにリダイレクトした際に、クッキーで、認証したという情報を 保持させるか、サーバBにリダイレクトした際にREFERERチェックをして その際にcgi等でSESSION情報として認証したという保持させるかになるのではないかと思います。 あとは、.htaccessのREFERER認証をサーバAのものとサーバBのものを 通す設定にすれば行けるかなと思います。(上の文章を書いてて気が付いた) cgi等を使えばそれなりにできると思いますのでがんばってみてください。 (私はcgiは不得手でPHPやASPならなんとか・・・)

ps5550
質問者

お礼

ありがとうございます。 以下の方法でできました。 サーバーBで、同じディレクトリ内を自由に移動できるようになりました。 目から鱗です。 助かりました。 >あとは、.htaccessのREFERER認証をサーバAのものとサーバBのものを >通す設定にすれば行けるかなと思います。(上の文章を書いてて気が付いた)

関連するQ&A