私の問題は次のとおりです。顧客のカタログをホストするオンライン サービスがあります。
このサービスには認証が必要ですが、ユーザー名/パスワードは 1 つしかありません。
代わりに、私の顧客は、独自のユーザー/パスワードとアクセス統計を使用して、すべてのユーザーを個別に管理したいと考えています。そこで私がしたことは、独自のアカウント管理を構築することでした。これまでのところ、うまくいっています。
ここで行う必要があるのは、ユーザーが自分の資格情報を入力する必要があるログイン フォームを追加することです。送信されると、スクリプトは認証を続行し、すべて問題なければアクセス カウントを増やし、リモート システムのログイン データを POST 経由で送信し、ブラウザを通常のフォームとまったく同じ方法で応答ページにリダイレクトします。
私はcurl
この方法を使用してみました:
if (authenticate($_POST['usr'],$_POST['pwd'])) {
$url = "http://www.foo.com/login.php";
$postdata = http_build_query(array('username'=>"foo",'password'=>"bar"));
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $postdata);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_exec($curl);
curl_close($curl);
}
しかし、サイトにリダイレクトされるのではなく、宛先ページのデータを自分のページにロードしてしまいます。
私は何をすべきか?
PS 可能であれば、JS を介して送信された非表示のフォームに頼ることは避けたいと思います。
ありがとう!