0

基本的にランディングページを目的としたサイトを立ち上げています。このページは、ユーザーが適切なフォームに入力するとCookieを作成します。Cookieを処理するために、このjqueryプラグインを使用しています。

私の問題は、ユーザーが最初のサイト(ランディングページ)からのCookieを持っている場合にのみ表示できるはずの別のサイトがあることです。これまでのところ、自分のランディングページで設定したCookieが他のサイトに表示されないため、テストで問題が発生しています。ランディングページはローカルホストでテストされていますが、表示する前にユーザーがCookieを持っている必要があるサイトはインターネット上で公開されています。

これが私がクッキーを設定する方法です:

$('#submit')[0].addEventListener("click", $.cookie("test-cookie", "test-value"));

次に、他のサイトで、Cookieを確認するために次のようなものがあります。

var cookie = $.cookie("test-cookie");
if (cookie != null && cookie != "") {
    console.log("TRUE");
} else {
    window.location = "http://www.thelandingpagesite.com";
}

さて、問題がCookieにあるのか(私が知る限り、Cookieがユーザーのコンピューターに存在するので、サイト間で簡単に転送できるかどうかはわかりません)、それとも私が設定を間違えただけです。どんな助けでも大歓迎です!ありがとう。

4

4 に答える 4

1

Cookieはユーザーのブラウザによって保存されますが、Cookieを設定したサイトへの参照とともに保存されます。

サイトAはサイトBにCookieを設定できません。

Cookieは、(とりわけ)設定を保存するために使用されます。任意のサイトが他の任意のサイトに対するユーザーの好みを設定できるようにすると、破壊行為が引き起こされます。

于 2012-08-13T20:03:34.100 に答える
1

私の知る限り、あるサイト (www.example.com) は別のサイト (www.Second-example.com) のブラウザから Cookie を取得できません。

これが許可された場合、誰かがあなたの Cookie を盗み、あなたのアカウントや個人情報にアクセスすることは非常に簡単になるため、重大なセキュリティ違反になります.

残念ながら、Cookie 以外のメカニズムを使用する必要があります。

別の回答のコメントで提案したように、IP を保存できます。その LAN 上の誰でもページにアクセスできることに注意してください...たとえば、学校の生徒がフォームに記入した場合...学校全体が、制限しようとしているページにアクセスできます。

于 2012-08-13T20:05:41.343 に答える
0

ユーザーの認証があなたの質問の問題ではないようです。ユーザーがサイト B にアクセスする前にサイト A にアクセスすることを望んでいるだけです。

この質問は役に立つかもしれません: クロスドメイン iframe コンテンツ負荷検出

サイト Bでは、サイト Aのページを指すIframeを持つことができ、サイト Bのページを指す Iframe が読み込まれます。サイト Aを指している Iframeに Cookie がない場合は、その情報をサイト Bの Iframe に渡すことができ(おそらく別のページをロードすることによって)、ロードされたときに呼び出すことができますparent.parent.cookieNotSet()(または、その関数を呼び出すことに決めたものは何でも)。サイト Bがサイト Aにリダイレクトされるようにします。

それが理にかなっていることを願っています。これは大きな回避策ですが、クロスドメインの問題を回避するために必要です。これらすべてを行うには、ブラウザーで JavaScript が有効になっている必要がありますが、現在、JavaScript が有効になっていないブラウザーはどれでしょうか?

于 2012-08-13T20:11:28.147 に答える
0

Cookie は、特定のドメインまたは一連のサブドメインに対して設定されます。それらは複数のサブドメインにわたって読み取ることができるため、ドメイン「.domain.com」の Cookie を設定して、「www.domain.com」、「landingpage.domain.com」、等

最終的に、ランディング ページとそれらが送信されるページが同じルート ドメイン上にある場合、これは可能です。

于 2012-08-13T20:16:40.077 に答える