1

だから私はウェブサイトを持っていますhttp://example.com そして、ログインしたいウェブサイトがあります。http://target.comサイトからhttp://target.com のログイン フォーム (ユーザー名とパスワード) に入力できるスクリプトが必要です。

ユーザーがhttp://example.com/login.php&username=John&password=12345をクリックすると

http://target.comに直接ログインし、ウェルカム ページに送信する必要があります。

このコードを取得しました。

$url = "http://target.com";
$post = "username=John&password=12345&login=++Ba%F0lan++";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
echo curl_exec($ch);
curl_close($ch);

しかし、それは私をウェルカムページに転送していません。代わりに、http://example.comでエラーが表示されます (ページが見つかりません)

また、URLからユーザー名とパスワードのデータを取得していません。しかし、後で自分で解決すると思います。

何か助けはありますか?

4

1 に答える 1

2

target.comOK ...プロキシによるログインを明示的にサポートしていない場合、不可能ではないにしても、これは基本的にあなたが思っているよりもはるかに困難です。ここには3つのパーティがあります。

client   ---->   example.com   ---->   target.com

通常、クライアントはにログインし、ログイントークンであるセッションCookietarget.comを受け取ります。にのみCookieを設定できます。target.comtarget.com

このプロセスをプロキシしてexample.comでログインさせると、Cookieを受け取りますtarget.comexample.comこれで問題example.comありません。認証されました。example.comただし、に代わってCookieを設定できないため、この認証をクライアントに渡すことはできませんtarget.comexample.com受信したCookieをクライアントに渡すことはできますが、そのCookieは。に対してのみ有効ですexample.com

クッキーに依存しないある種のURLベースのログインスキームをサポートしない限りtarget.com、あなたは根本的に困惑しています。

于 2012-09-07T08:56:03.340 に答える