2

1 つのサーバーに 2 つのドメインがあります。ユーザーが 1 つのドメインにログオンしている場合、別のドメインにもログオンする必要があります。1台のサーバーでphpでクロスドメイン認証を行う方法は? サブドメインについては解決しましたが、別の第 2 レベル ドメインについては解決できません。

4

2 に答える 2

2

主な問題は、別のドメインにいる場合、ブラウザから Cookie が送信されないことです。

ブラウザに別のドメインの Cookie を書き込むこともできません。

できることは、一意のトークンを他のドメインに送信し、検証されたら、2 番目のドメインに Cookie を書き込むことです。これは、認証時に iframe または二重リダイレクトを使用して行うことができます (iframe Cookie は、サファリなどの一部のブラウザーでブロックされます)。一意のトークンは、2 番目のドメインによって検証され、無効化 (削除) されて、別のユーザー (中間者攻撃) が再び使用できないようにする必要があります。

于 2012-10-17T08:25:12.250 に答える
1

使用しているフレームワークに応じて、 CASを調査して実装する必要があります。たとえば、私の Zend アプリケーションではZend_OpenIdZend_Oauthを使用します。

于 2012-10-17T08:27:25.970 に答える