1

異なるドメイン間でセッション/クッキーを共有するように TYPO3 に指示する方法があるのだろうか?

多言語/多ドメイン サイトで Extbase 拡張機能を作成しました。ユーザーセッションの検索フォームからの検索語を保存します。ユーザーがページの言語を切り替えた場合、以前と同じ結果が得られるはずです。検索フォームに再度入力する必要はありません。

1 つの方法は、複数の Cookie を同時に保存するようにブラウザに指示することです。ドメイン/言語ごとに 1 つです。TYPO3 / Extbaseでこれをどのように達成できますか?

4

1 に答える 1

2

デフォルトでは、TYPO3 の有無にかかわらず、別のドメインに Cookie を設定する方法はありません。これは、すべてのブラウザーに実装されているセキュリティ対策です (または、私の Web サイトにアクセスしたときに、yourbank.com から Cookie を設定/読み取るようにしますか? ;-))

これを行うヘルパー スクリプトを作成する必要があります。1つの方法は次のとおりです。

  • example.com が読み込まれました
  • このページには、example.org の PHP スクリプト (または TYPO3 サイト、たとえば eID を使用) への iframe が含まれており、セッション ID を格納する GET パラメータが含まれています。
  • example.org からロードされたスクリプトは、GET パラメータを読み取り、そのセッション ID (または転送したい任意のパラメータ) で Cookie を設定します。
  • その後、Cookie は example.org を閲覧するときにも利用できます。

私はこれを試したことはありませんが、PHP で動作すると確信しています。純粋な JavaScript でも可能かもしれませんが、よくわかりません。いずれの場合も、説明したスクリプトでどのようなセキュリティ ホールが発生するかを考えてみてください。疑わしいパラメータに署名する (またはトークンを要求する)!

于 2013-05-03T05:33:29.617 に答える