(Sumber: milist DOTNET) Phonegap - Baca webservice dilain server
-
29 Februari 2012 8:12Moderator
dear all,
saya coba buat aplikasi dengan menggunakan Phonegap.
aplikasinya membaca webservice dari server lain, tapi ada error XMLHttpRequest cannot load http://api.webx.com/json/webservice.aspx?category=home&start=0&limit=10. Origin http://localhost:56420 is not allowed by Access-Control-Allow-Origin.
ada yang bisa kasih tau gimana caranya aplikasi phonegapnya baca webservice tersebut ?
thxAgnes Sannie [MSFT]
MSDN Community Support | Feedback to us
Get or Request Code Sample from Microsoft
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
Semua Balasan
-
29 Februari 2012 8:13Moderator
1. Platformnya apa?
2. Servernya apa?
In general, ini adalah cross-domain restriction di http biasa, dimana servers & browsers biasanya deny http dari domain laen buat mencegah csrf attacks.
Tapi karna phonegap bukan dibuka di browser (walopun di belakangnya pake native browser engine), maka gak vulnerable terhadap csrf attack. Karna itu, di server bisa tinggal matiin ajah proteksi ini dengan declare di Access-Control-Allow-Origin header.
Btw itu cuma solusi buat ajax biasa, gak specific ke phonegap. Gw gak pernah pake phonegap, jadi may or may not be relevant dengan phonegap.
Tapi kalo lu pake android, maka lu mesti inget kasih permission INTERNET. (Again, ini android in general, gak phonegap specific)
Dijawab oleh: Hendry Luk
Agnes Sannie [MSFT]
MSDN Community Support | Feedback to us
Get or Request Code Sample from Microsoft
Please remember to mark the replies as answers if they help and unmark them if they provide no help. -
29 Februari 2012 8:13Moderator
Mas Hendry,
1. Platform pengembangan phonegap saya lagi coba pake Windows Phone.
2. Kalo server webservicenya saya pake windows 2003
cara matiin proteksinya gimana ya mas ?
soalnya sebelum saya taro di aplikasi phonegap-nya saya lagi coba dulu di browser
Agnes Sannie [MSFT]
MSDN Community Support | Feedback to us
Get or Request Code Sample from Microsoft
Please remember to mark the replies as answers if they help and unmark them if they provide no help. -
29 Februari 2012 8:14Moderator
Di browser kalo langsung direct addressnya ya bisa. Tapi kalo lewat ajax (xhr object) itu dilarang, karna restriksi cross-domain origin.
Maksud pertanyaan nomer 2 itu servernya pake teknologi apa. Intinya mesti tambahin response.Headers.Add("Access-Control-Allow-Origin", "*");
Solusi umum laennya adalah pake jsonp.
Baik menggunakan access-control-allow-origin header maupun jsonp, sama2 membuka celah keamanan yang sama. Tapi selama api tersebut gak menggunakan cookie-based security (yang dari intention lu untuk cross-domain bisa gw assume bahwa lu gak pake cookie-based authentication) maka gak masalah.Dijawab oleh: Hendry Luk
Agnes Sannie [MSFT]
MSDN Community Support | Feedback to us
Get or Request Code Sample from Microsoft
Please remember to mark the replies as answers if they help and unmark them if they provide no help.- Ditandai sebagai Jawaban oleh Agnes SannieMicrosoft Contingent Staff, Moderator 29 Februari 2012 8:14