2010-12-08 5 views
4

保護されたコンテンツが含まれているApacheでホストされているサイトがあります。私はこの保護されたコンテンツへのアクセスを、別のアプリケーションで認証されたユーザーに提供したいと考えています。コンテンツはhtaccessとhtpasswdを使って保護されています。php curl - カールを使って保護されたディレクトリへのアクセスを提供する必要があります

curlを使用してユーザー名とパスワードを設定し、ユーザーを保護されたフォルダにリダイレクトしたいとします。保護されたコンテンツが1つのファイルであればこれを簡単に行うことができますが、私のソリューションは1ページだけで動作するようです。ユーザーがリンクをクリックして別のページにアクセスしようとすると、セッションは失われます。ディレクトリには数百のページがあります。私は結果には二つの問題があり

$ch=curl_init(); 
curl_setopt($ch, CURLOPT_URL,'http://domain.com/protected_folder/'); 
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); 
curl_setopt($ch, CURLOPT_USERPWD, "username:password"); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1); 
curl_exec($ch); 
curl_close($ch); 

:ここ

は、私が使用していたコードである

フルリダイレクトが行われていない
  1. ので、クリックされた任意のリンクがに戻って参照しています保護されたフォルダではなく、phpファイルが存在するフォルダ。アドレスバーにはまだPHPスクリプトへのパスが表示されます。
  2. セッションがすぐに失われているようです。保護されたフォルダ内のリソースにアクセスしようとすると、ログインボックスが表示されます。

これらの2つの問題のいずれかを解決する方法についてのアイデアは非常に高く評価されます。

答えて

0

あなたはhtaccess認証を使用していますか? PHPを使用して認証を使用すると、柔軟性が向上します。

http://php.net/manual/en/features.http-auth.php

+0

多分それは動作しますが、私は私のPHPはそのリンク内の情報に基づいて、それを実装する方法を理解するのに十分な強さではないと信じています。保護しようとしているファイルは基本的なhtmlファイルです。私はこのような何かを実装した:http://www.askapache.com/htaccess/tricks-for-controlling-htaccess-basic-authentication-with-php-and-mod_rewrite.html –

関連する問題