Neden Google while(1); JSON yanıtlarını önüne geliyor?
Neden Google önüne (özel) JSON yanıtları için while(1);
?
Örneğin, burada ve bir takvim Google Calendar çevirirken bir yanıt var:
while(1);[['u',[['smsSentFlag','false'],['hideInvitations','false'],
['remindOnRespondedEventsOnly','true'],
['hideInvitations_remindOnRespondedEventsOnly','false_true'],
['Calendar ID stripped for privacy','false'],['smsVerifiedFlag','true']]]]
Bu üzerinde eval()
bunu engellemek için olduğunu sanıyorum, ama gerçekten yapmanız gerekiyor while
değiştirin ve sonra da ayarlamış olursun. Eval önleme emin insanların güvenli JSON ayrıştırma kod yazmak için olduğunu sanıyorum.
Bu Google (Posta, Takvim, Kişiler, vb.) ile diğer yerlerde bir çift, çok, ama çok daha çok kullanıldığını gördüm Gariptir ki, Google Docs &&&START&&&
yerine ile başlar, ve Google Rehber while(1); &&&START&&&
ile başlamak gibi görünüyor.
Burada neler oluyor?
CEVAP
JSON hijacking engeller.
Yapmacık örnek: JSON formatında gelen ilk 50 mesajı verir. Google mail.google.com/json?action=inbox
gibi bir URL var diyelim Diğer alanlardaki kötü web siteleri bu veri aynı kaynak politikası nedeniyle AJAX isteklerini yapmak değil, ama <script>
bir tag ile URL içerebilir. URL ile ziyaret ettiseninkurabiye ve overriding the global array constructor or accessor methods tarafından bir yöntem bir nesne (dizi) karma özniteliği ne zaman aradılar, onları JSON içeriğini okumak için izin ayarlanır.
mail.google.com
AJAX isteği metin içeriği tam erişime sahip olacak, ve o uzakta şerit olabilir. while(1);
&&&BLAH&&&
Bu engeller: Ama <script>
etiket ekleme körü körüne herhangi bir işlem olmadan JavaScript, sonsuz bir döngüye veya yazım hatası ya da sonuçlanan yürütür.
Bu cross-site istek sahteciliği sorunu gidermez.
JSON nedir ve neden kullanmalıyım?...
Neden Google 1 Benim fare hareketleri ...
Neden yerine HTML JSON oluşturulan dön...
Neden eğik kaçtı?JSON: ...
Neden Google'EĞER bir WordPress k...