0

PHP cURL を使用して Web サイトにログインしています。ログインに成功すると、Cookie ファイルが生成されます。

    $cookieFile = tempnam("/tmp", "curl-cookie"); // Cookie file to login.

php スクリプトは、php ファイルへの ajax $.get リクエストによって実行されています。

ログインしたので、別のページに移動したい (実際には「移動」するのではなく、直接 $.post リクエストを行う) が、Javascript/Ajax でこれを行いたい。ただし、ページを正常にロードするために認証を維持する唯一の方法は、Cookie を読み取ることです。Cookie ファイル内のすべての Cookie を $.post リクエストのヘッダーに設定する方法を理解しようとしています。これにより、「ログインが必要です」という応答ではなく、適切な応答が得られます。

確かに少し奇妙に思えます。しかし、それが私がやろうとしていることです。何か案は?

また、自分のドメインではなく、別のドメインに Cookie を送信しようとしていることにも注意してください。それが問題かどうかはわかりません...

4

1 に答える 1

0

認証サーバー側で Cookie を収集し、さらにアクセスするために再生したい場合は、それらのアクセスもサーバー側で行う必要があります。

クライアントの観点から見ると、Cookie はブラウザーに保存されます。明らかなセキュリティ上の理由から、Web ページはクライアントの Cookie ストレージを変更できないため、サーバーからコピーした Cookie を、認証したいクライアントに「追加」することはできません。

ターゲット Web サイトは、クライアントを識別するために、Facebook、gmail、またはその他の API などのクロスサイト js API を公開する必要があります。

于 2012-09-30T14:15:07.677 に答える