2011-06-20 33 views
13

Sitemizde belirli sayfalar SSL kullanmaktadır, ancak çoğu sayfa (web botları tarafından taranması gerektiğinden) yoktur.jQuery ajax ve SSL?

Hemen hemen kullanıcı birkaç istisna dışında, oturum SSL altında olan herhangi bir sayfaya,

aşağı kaynar Ama kullanıcı ilk olmayan https sayfasından giriş vardır (giriş formu şeklidir

herhangi bir sayfada ekranın üstünden düşer.

Yani,

nasıl SSL kullanmak için ajax üzerinde isteklerini zorlayabilirsiniz?

Bu bile güvenli midir?

+7

Web tarayıcıları ne zamandan beri SSL üzerinden çalışmıyor? Googlebot/Bing bunu iyi endeksler. – vcsjones

+1

Eh, SSL sayfaları daha yavaş yükleniyor. – nzifnab

+1

Bir iframe kullanabilseler de iyi bir şekilde taranabilirler. Iframe severim. Çok havalılar ve böyle şeylerin tadını çıkarmaya izin veriyorlar. Bir iframe ile yapman gereken her şeyi yapabilirsin. Tanrı, iframe icat eden adamı korusun. – Magmatic

cevap

11

Bu, URL'nin URL'siyle aynı kaynakta olduğu için HTTPS URL'sini görmediğinden JavaScript'in aynı orijinal politikasını ihlal eder. Bunu, web hizmetinden gelen yanıtta JSONP kullanarak veya Access-Control-Allow-Origin başlığını ayarlayarak alabilirsiniz. Bunu yapmak için birçok web servisi kurulacak.

+2

Bu kolayca çözülmüş bir sorundur, ajax javascript dosyaları https den geliyor. –

+0

Bunun işe yaradığından emin misin? Eğer http: // www.mysite.com 'adresindeyseniz, bu sayfaya ajax-ly POST -' https: // www.mysite.com/login' adresine gidersiniz. JS dosyaları https: // www.mysite.com/javascripts' adresinden yüklenir? Bu ilginç. Bir dahaki sefere bu sorunu çözmeye ihtiyacım var. DÜZENLEME: aptal şey http vs https – nzifnab

+0

çıkardı sürece sizin ajax çağrı html kaynağı ile aynı URL'ye gider sürece sorun yok, yani bir https: // site için gitmek istiyorsanız ajax çağrısı daha sonra https: // sayfasından hizmet verir. Bu şekilde yapılması gerektiğine emin değilim, ancak test sırasında hatalar varsa, javascript'i https'den gelmek için değiştirin. Bu makaleye göre önemli olmamalı, bu yüzden cevabımda bunu önermedim. http://bytes.com/topic/javascript/answers/459071-ajax-https –