2016-03-30 35 views
2

#{some_app}.herokuapp.com çalışan bir evreleme uygulaması için Sorun

document.domain = 'herokuapp.com' aşağıdaki konsol hata veriyor:document.domain'i herokuapp.com olarak ayarlamak mümkün değil mi? Nasıl?

Uncaught SecurityError: Failed to set the 'domain' property on 'Document': 'herokuapp.com' is a top-level domain. 

Soruşturması

ben sayfa en etmek etki alanını ayarlamak için deneyerek herhangi bir sayfada bu hatayı tetikleyebilir

TLD. Örneğin, şimdi açık konsolu çekin ve document.domain = 'com''u çalıştırmayı deneyin.

Bu onunla iletişim kurmak için aynı TLD herhangi senaryoyu sağlayacak şekilde bir belgenin alanı bir TLD'yi olmak istemem. Oradan çıkarılması, herhangi bir Heroku uygulamasının, birisinin herokuapp.com'un bir alt etki alanı üzerinde çalıştırıldığı için bir alan olan herokuapp.com olan bir uygulama ile iletişim kurabildiği aşikar hale gelir. Bu, staj uygulamalarını günün sonunda yoğun bir şekilde devre dışı bırakmayan herkes için bir güvenlik sorunu olabilir. Benim gözlemlerden

onların sayfanın etki alanı olarak herokuapp.com ayarını önleyerek müşterilerini korumak için Heroku ihtiyatlı görünüyor. Onlar bunu nasıl yapıyor? Ben tarayıcı tüm TLD'lerin üzerinde hata bilir ama nedense herokuapp.com tarayıcı tarafından bir TLD olarak tescil ve aynı hatayı tetikleyen ediliyor varsaymak güvenlidir hissediyorum. Yanıt başlıklarını kontrol ettim ve şimdiye kadar hiçbir şey bulamadım. Eğer bir çözüm arıyorsanız buraya geldiyse

iş ya

üzgünüm. Şimdiye kadar sadece daha fazla bilgi buldum, ancak bu soruyu başkaları için Googlable'a sahip olmak için bir araya getirmek istedim. Aşağıdaki potansiyel çalışmalardan birkaçını kullanıyorum.

  • evreleme için
  • Kurulum alt alan Heroku ayarını Heroku ve etki alanında alt alanları kaçının ve bu
  • İlgili aşmanın Heroku yönlendirin evreleme için başka

    1. Kullanım şey

    Ayrıca, bu alanı (DRY way for setting document.domain from Rails) ilk etapta alan adı ayarlamayla ilgili olarak da yayınladım. Bunun için daha iyi çözümler olup olmadığını bilmek isterim.

    cevap