2013-04-18 10 views
10

私は同じ起源ポリシーに関する質問があります。私の会社には多くのサブドメインがあり、そのうちの1つには、その内部に別のサブドメインを持つiframeがあり、そのiframeのフォームに移入したいと考えています。私はdocument.domainプロパティについて読みましたが、3つのドメインすべてに設定する必要がありますが、別の部門に属する各サブドメインのために簡単にテストすることはできません。だから私の質問です。同じ起源ポリシー - サブドメインとルートドメイン

サブドメインが両方ともhttpsで、ルートドメインが存在しない場合、これは可能ですか?私はウィキペディアの例を見ましたが、それは私を助けませんでした。どんな助けでも大歓迎です。

例:

https://x.company.org

https://y.company.org

ます。http://company.org

x.company.orgはy.company.orgいるのIFRAMEでページを持つことになります自動的に入力するフォームがあります。

(私はリンクが壊れている知っているが、私はもっとして2つのリンクを投稿することができないので、それはある)

答えて

13

このコンテキストでドメインを定義する事がとてもhttp://abc.comhttps://abc.comプロトコル、ポート、およびドメインされていますブラウザによって異なるドメインとみなされます(http対https)。

http://en.wikipedia.org/wiki/Same_origin_policy#Origin_determination_rules

https://x.company.orghttps://y.company.orgはまた、別のドメインと見なされるが、それらはhttps://company.orgおよびクロス通信するために、そのドメインの設定を緩和することができ、両方。

http://en.wikipedia.org/wiki/Same_origin_policy#document.domain_property

HTML5は、すべての主要なブラウザであるとして、あなたが利用可能な別のオプションは今あります。 HTML5 postMessageを使用すると、受信ドメインがメッセージを受け入れて応答したいと仮定して、ドメイン間で通信することができます。

http://html5demos.com/postmessage2

+0

応答をありがとう。答えを明確にするために、ドメイン設定をルートドメインにリラックスできると言ったときだけです。ルートドメインも同じプロトコルを使用する必要がありますか? 残念ながら、ほとんどのユーザーは引き続きIE7とIE8を使用しているため、投稿メッセージは使用できません。 –

+2

x.company.orgがy.company.orgをiframeにホストしているとあなたの例を理解しました。その場合は、両方のページでdocoument.domain = "company.org"を実行する必要があります。http://javascript.info/tutorial/same-origin-security-policy#the-document-domain-exception – u2702

+0

優れた、ありがとうございました。リンクが本当に助けになりました。 – Sebas