Web sitenizin bir GetUserweb yöntemi olduğunu varsayalım:
http://www.example.com/User/GetUser/32
bir JSON yanıtı döndürür:
{ "Name": "John Doe" }
Bu yöntem yalnızca POST isteklerini kabul ederse, içerik yalnızca http://www.example.com/User/GetUser/32POST yöntemi kullanılarak bir AJAX isteği yapılırsa tarayıcıya döndürülür . CORS uygulamadıysanız , tarayıcının verileri sizinkine bu isteği yapan diğer etki alanlarından koruyacağını unutmayın.
Bununla birlikte, GET isteklerine izin verdiyseniz ve POST yerine GET ile yukarıdakine benzer bir AJAX isteğinde bulunduysanız, kötü niyetli bir kullanıcı scriptHTML'de bir etiket kullanarak JSON'nuzu kendi sitelerinin bağlamına dahil edebilir . örneğin www.evil.com:
<script src="http://www.example.com/User/GetUser/32"></script>
Bu JavaScript www.evil.com, web yönteminizin döndürdüğü nesneyi okumanın bir yolu olmaması gerektiğinden işe yaramaz olmalıdır. Ancak, tarayıcıların eski sürümlerindeki hatalar nedeniyle (örn. Firefox 3), JavaScript prototip nesnelerinin yeniden tanımlanması ve www.evil.comyönteminizin döndürdüğü verilerinizin okunmasını mümkün kılması mümkündür . Bu, JSON Hijacking olarak bilinir.
Bunu önlemenin bazı yöntemleri için bu gönderiye bakın . Ancak, modern tarayıcıların (Firefox, Chrome, IE) sonraki sürümlerinde bilinen bir sorun değildir.