Chrome webkit denetçisinde sürekli olarak "URL içeren çerçeveye erişim için güvenli olmayan JavaScript denemesi…" hatası oluşuyor


129

Örneğin, Facebook API ile çalışırken Chrome (veya başka herhangi bir webkit tarayıcısı) bu "Güvensiz JavaScript URL ile çerçeveye erişmeye çalışıyor ..."

Gerçek işleme müdahale etmez, ancak javascript konsolunu temelde kullanılamaz hale getirir.

Özellikle konsolda bu hataları bastırmanın bir yolu olup olmadığını bilmek istiyorum. Ya da aklınıza gelebilecek başka çözümler varsa, gerçekten minnettar olurum.

Teşekkürler.


1
Şu anda yalnızca konsol sekmesinin yalnızca günlükleri gösterecek şekilde ayarlanmasıyla ilgili geçici çözümü kullanıyorum. Hataları izlememe izin veren bir çözüm arıyorum (sadece bu değil).
Neil Sarkar

API'yi nasıl kullandığınıza dair bir örnek vermek iyi olur. bunun olmasının birçok nedeni var.
Kinlan

Ne demek istediğini anlıyorum ama bunun herhangi bir facebook entegrasyonunda olacağından oldukça eminim. Örneğin, bu Domino'nun sitesinde (üretimde) webkit js konsolunuzu açın pizzaholdouts.com
Neil Sarkar

1
Siteler arası komut dosyası yazmayı denemiyor musunuz? Kendi sunucunuzdan facebook api adresleri mi talep ediyorsunuz? Yol biraz farklı.
Tomasz Durka

4
hiçbir şey istemiyorum, sadece js sdk çalışan developer.facebook.com/docs/reference/javascript
Neil Sarkar

Yanıtlar:


19

Chrome'u --disable-web-securitykomut satırı seçeneğiyle çalıştırarak test sırasında etki alanları arası isteklere izin verebilirsiniz . Bu muhtemelen hatayı gidermeli (ve FB'nin testlerinizi gözetlemesine izin vermelidir;)


hmm, bu ilgi çekici ... seçeneği komut satırının dışında bu şekilde ayarlamanın bir yolu var mı? Bunu komut satırından denedim /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --disable-web-securityve işe yaradı! ancak profilimi yükleyemediğini söyledi ... bu bayrağı uygulama içinden nasıl ayarlayacağıma veya varsayılana ayarlayacağına dair bir fikrin var mı?
Neil Sarkar

4
bir güncelleme olarak, şimdi yalnızca krom kullanıyorum ve bunun cevabını hala bilmek isterim
Neil Sarkar

2
open -a '/Applications/Google Chrome Canary.app' --args --disable-web-security
sandstrom

4

Bu, farklı bir etki alanından bir kaynak yüklendiğinde ve document.cookie'ye erişmeye çalıştığında gerçekleşir. Baş kaynaklarında (komut dosyası etiketleri) ve herhangi bir nedenle document.cookie'ye erişmeye çalışan iframe belgelerinde olur.


4

Sorun ne?

Unsafe JavaScript attempt to access frame with URL...Chrome JS konsolunda tonlarca hata mesajı.

@Thechrisproject'in belirttiği gibi , bu hatalar, aşağıdakiler dahil ancak bunlarla sınırlı olmamak üzere birçok saygın 3. taraf API'sinden ve widget'larından kaynaklanmaktadır:

  • Facebook JS SDK
  • Vimeo Iframe Yerleştirme
  • Google Maps Iframe Embed

Benim anlayış neden : (yanılıyorsam beni düzeltin lütfen)

Chrome, rakip tarayıcılardan daha katı güvenlik ayarlarına sahiptir ve / veya daha fazla bu tür hatalar gösterir. API / widget / embed yazarları, tüm tarayıcılarda (muhtemelen kendi raporlamaları / analizleri için) çalışmayacak, ancak işe yaramazsa widget'larının kullanılabilirliğini gerçekten etkilemeyen şeyler (alanlar arası / çerçeve) yapmaya çalışır. iş (sadece çok sayıda can sıkıcı hataya neden olur)

Hızlı cevap

HAYIR, krom konsolunda bu hataları ( sadece ) bastıramazsınız.

Çözümler?

  • Başa çıkmak. Bu hatalar aslında bu 3. parti apis ve widget'ları bozmaz, sadece konsolu kullanımını çok daha zor hale getirir.
  • konsolu yalnızca Uyarıları, Günlükleri veya Hata Ayıklama mesajlarını günlüğe kaydedecek şekilde ayarlayabilirsiniz. Bu TÜM hataları gizleyecektir.
  • başka bir tarayıcı kullanabilirsin
  • As @Dagg_Nabbit. belirtildiği gibi , Chrome'u --disable-web-securitykomut satırı seçeneğiyle çalıştırarak alanlar arası isteklere izin verebilirsiniz . Daha fazla bilgi burada: Chrome'da aynı kaynak politikasını devre dışı bırakın . Bu ayarın tarayıcınızın güvenliğini olumsuz etkileyeceğini unutmayın. Bu bayrakla veya bayrak olmadan açabilmem için 2 krom kısayolum var.

3

Google'daki insanları böylesine güvenli bir tarayıcı oluşturdukları için suçlayamayacağımız için, en iyi çözümün Facebook'un sunucu tarafı çözümlerini (ör. PHP SDK) kullanmak olduğunu düşünüyorum, bu size çok, çok, çok, çok tasarruf sağlayacaktır. çok fazla baş ağrısı. FB javascript SDK'yı kullanırken gördüğüm tek avantaj, javascript / jQuery kullanarak kendi başınıza yapabileceğiniz açılır pencere girişidir.


6
PHP SDK'yı (veya diğer sunucu tarafı SDK'sını) kullanmak neden çok fazla baş ağrısından kurtaracak?
Steve Horn

@steve: Chrome'un güvenli olmayan isteği engellediği gerçeği, istemci tarafı işlemenin ne kadar güvensiz olduğu konusunda birçok yanıt veriyor.
Jhourlad Estrella

2
JS konsolunun IMHO kirliliği, mantık sunucu tarafı mı yoksa istemci tarafı mı koyulacağına karar verirken birincil husus olmamalıdır.
Zach Lysobey

1
Performans, Güvenlik, Kod Organizasyonu / Sürdürülebilirlik, taşınabilirlik - önce düşüneceğim her şey. stackoverflow.com/questions/1516852/…
Zach Lysobey

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.