Ngobrolin CORS
Ringkasan Episode
Bantu KoreksiEpisode ini membahas tentang CORS (Cross-Origin Resource Sharing), salah satu topik yang sering membingungkan developer web. Diskusi dimulai dengan pengalaman pribadi tim menghadapi error CORS saat pertama kali belajar pengembangan web, dan kesalahpahaman umum bahwa solusinya cukup menambahkan header di sisi request (padahal harus dari server). Tim Ngobrolin WEB menjelaskan konsep origin, same-origin policy, dan bagaimana CORS bekerja sebagai mekanisme keamanan di browser. Episode ini juga membahas preflight request (OPTIONS), solusi menggunakan proxy/middleware untuk bypass CORS, dan teknik lama JSONP. Demonstrasi menarik ditampilkan dengan fitur Local Overrides di Chrome DevTools yang bisa mengubah response header dan content untuk testing. Episode ditutup dengan diskusi tentang berbagai tool untuk mengatasi CORS dan risiko membangun produk di atas platform orang lain.
Poin-poin Utama
- •CORS adalah mekanisme keamanan browser yang membatasi resource dari origin berbeda (domain, schema, port) untuk diakses
- •Kesalahpahaman umum: banyak developer mencoba menambahkan CORS header di sisi request/client, padahal harus dari server
- •Preflight request (OPTIONS) dikirim browser sebelum request sebenarnya untuk mengecek apakah request tersebut diizinkan server
- •CORS hanya berlaku di browser, tidak di server-side atau HTTP client seperti Postman/Insomnia
- •Solusi umum mengatasi CORS: menambahkan header Access-Control-Allow-Origin di server (bisa * untuk semua origin atau origin spesifik), atau menggunakan middleware/proxy
- •JSONP (JSON with Padding) adalah teknik lama untuk bypass CORS dengan memanfaatkan script tag yang tidak terkena same-origin policy, namun sudah tidak umum digunakan lagi
- •Chrome DevTools memiliki fitur Local Overrides yang memungkinkan developer mengubah response header dan content untuk testing tanpa perlu extension tambahan
[Musik] hai hai hai hai halo Loh kita sudah lama iya sudah berapa ya du Sudah berapa minggu enggak live ya 3 minginggu
berarti ya 3 Minggu kita live sudah jam 8.00 Kagok Iya By the way Selamat tahun baru iya selamat tahun baru lagi benan ya Iya
ini benan Selamat tahun baru liveingu live lagi di live pertama di 2024 untuk ngobrolin web yah udah ke J
selasa malam karena selasa malam waktunya ngol waktunya ngobrolin boleh I bolehlah ya oke Gimana kabarnya semua mudah-mudahan sehat-sehat e gimana
tahun barunya mudah-mudahan tahun ini kita ya Sesuai apa yang kita harapkan di episode sebelumnya yainggu lalu e
mudah-mudahan semua kejadian teman-teman ee apa lebih produktif ee banyak rezeki ya I dan tidak lupa menonton kita di
hari selasa malam betul jangan lupa nyoblos juga kalauang dekat 14 Februari bulan depan ya bulan depan Valentine C
Valentine libur berarti ya Oh iya libur ya berarti Oh iya libur libur nasional kan Ya libur nasional yang biasanya
kalau kalau e coblos-coblos gitu kan banyak banyak diskon ya Di mallmall ya Oh I kalau kalau nunjukin kalau nunjukin
Oh iya kalau nunjukin motivasiyaos biar dapat [Musik] diskon biasanya yang kopi yang Siren itu tuh paling sering
tuh Siren kopinya Siren yang hijau Oh i i itu kan Siren eh itu kan sebenarnya logonya Siren dulu sekarang masih siren
siren bukan Mermaid oke itu ikan guyung selama ini i ya Oh itu bukan Medusa Ya beda lagi rambut makin jauh rambutnya yang
itu kalau si kopi itu jel merek kopi itu iya ee apa sangat dihindari oleh developer Kenapa gitu Iya kalau ada Bugs
kan kabur kan e Iya Boleh eh boleh boleh boleh boleh sbard dulu sboard sboard sbardbard Oh
Soundboard halo halo semuanya Wah ini ada Nur Kholid sudah sudah hadir keren keren kerenah wow keren Damar yang goldp
warnain pakai pulpen jangan jangan goldp ya milih siapa Wah ini wah kita menganut aset luber dan jord deil ya apa apa sih
tuh perannya langsung umum bebas rahasia rahasia bebas rahasia bebas mau merahasiakan atau mau membocorkan mau mau bukan biasanya
habis biasanya di bilik suaranya difotoin difotoin Oh gitu gu pakai tintanya difotoin terus upload Iya biasanya ada biasanya ada ajakan begitu
kan nanti mereka pada pada punya kayak survei hitungannya gitu oke iya apalagi distoryin Kan udah kelihatan kan jadinya
ya jadi enggak ada rahasia lagi yaan paling Epik tuh paling bawah pilih imre betul gu imre aja L
imre Iya gak tahuak DPR Cang mana dia cabang cabang baltimor dia belum pulang Soalnya dengar-dengar dia mau pulang kan
dia Iya noyoblos asak nyelek bukan nyblos lag tiket tapi enggak tahu tiketnya bulan berapa nanti kita kita
inilah ya kita undang-undang ke sini ya mudah-mundang cuma habis pemilu aja sama dia oh iya review Pemilu Ya gimana ya
review Pemilu review diskonan lah diskonan Siapa tahu kat ada diskonan ya Nah ini bagus itu ok ah kita Sebelum kita semakin mengantur
Iya kita Mau ngomongin malam hari ini tentang eh cor kepbanyakannya apa eh Cross Origin Cross Origin rsnya enggak
in Rumah Sakit Cross Origin sharing Iya yes Siapa di sini Yang tapi bukan penyanyi ya bukan penyanyi apa tuh tadi
gua udah bilang thecour sih tapi ya the Ayo lanjut tah di Oh gr gr lewat itu 20
tahun yang lalu Oh iya kemarin itu ke Jakarta dia sempat ke Jakarta sebelum Iya Dia kan ke rumahnya mas Riza sempat
engak ya bukan ngapain dia jelasin soal cor Oh iya iya boleh boleh boleh ya kita bukan mau jualan online
course tapi ini Iya di sini teman-teman Eh siapa yang belum pernah mengalami error course mungkin mungkin sekarang udah agak
Lihat transkrip lengkap (424 segmen lagi)
kurang ya dulu-dulu ya sering banget gitu kan Apalagi dulu pas baru belajar nyebelin banget itu baru belajarya
biasanya dulu so kalau saya kena ya Cross Origin habis itu pindah e masukin ke aplikasi php-nya headernya Cross
Origin kasih Bintang hal semua Iya iya di Nah kalau gue dulu pengalaman pertama kali ketemu course masih belum belum ngerti ya masih baru
banget belajar terus eh kan cari kan stack overflow caranya ngatasin cor Oh dikasih headernya bla bla bla Nah bentar ada
plot twistnya namanya head ditambahinnya di requestnya bukan dari servernya ya udah terus aja sampai ganti presiden berapa kali mah enggak bakal
bener e Iya harusnya di kalau kalau bla bla blaanya di di pas ngirim request dari client s-nya ya enggak bakal
berubah Lah iya iya enggak e bahkan dulu sempat ada eh apa namanya extension Chrome extension sampai sekarang pun ada masih ya masih ya
Bypass Heeh ngakalin Bypass karena biasanya kalau di server kalau servernya kita yang yang punya itu bisa nambahin jug
itu nambahin header dan lain-lain itu mungkin bisa kan bisalah request sama anak backend gitu kalau kalau yang kerja
ya tapi kalau misalkan terparty api Iya nanti Dar dari Death tool juga bisa yang baru ya Death tool yang baru nanti ada
update-nya nanti ingetin aja kita demo-demo aja B bisa Apanya bisa e apa namanya Ee responsnya kita bisa edit di
de Oh kalau buatetes nanti kita coba nice nah ini ada juga nih Yang berpengalaman kalau kena course dial aja
incure content insecure content em sebenarnya course enggak bisa sih di kalau enggak bisa masalah ya Bisa Beda
kan beda ya harus dari servernya iya ya servernya harus mengallow Origin udah kan definisi course tadi kan Cross
Origin iya sing Nah mungkin biar lebih jelas mungkin kita akan Run through kali ya itu apa Terus gimana cara kerjanya
Kenapa bisa kena dan gimana ee solusinya gimana solusinya untuk supaya ee ya enggak kejadian gitu ya y ini
adalah eh dari website-nya mdn itu Cross Origin resource sharing adalah salah satu properti dari http header yang memungkinkan
server to indicate any Origins Origins itu artinya berarti ini ya domain SK gitu ya Nah kalau misalnya yang masih
bingung Origin itu apa kita kan dulu punya episode ya apa ngobrolin domain ya E url url Oh I ngobrolin url Nah itu
kelihatannya udah kita bedah semua ya Jadi kalau ada yang belum nonton bisa dicari sendiri Iya bahkan port juga
misalkan teman-teman bikin satu server itu di eh eh apa atau Klien Klien ya sesama klien kalau server aman harusnya
ya klien satu Misalkan local host 3.000 gitu kan Terus e satunya lagi 3.002 terus mereka sing berkomunikasi bisa
jadi kena k juga kan He karena ya Apun yang bed Origin itu ya Eh kasarannya gampang ya dicurigain lah
jadi kalau misalnya originnya sama kan Ya udah pasti berasal dari satu tempat itu Udah enggak Enggak ketemu course
sama sekali tapi di luar itu nah bakal ada eh semua proses itu paling ya paling gampangnya itu kalau misalnya kita dari
domainnya kita tuh kita mau fetch konten tapi dari domain yang berbeda Iya e dan domain yang berbeda itu tidak
mengizinkan kita untuk F content dari Browser he ya buver ini server site iya ya jadi enggak memperbolehkan kita untuk
fch content itu e jadi nanti akan keluar e course warning issue Atau segala macam Datanya juga kita enggak bakal dapat
gitu dalam hal ini data.json itu kita enggak bisa dapat I kalau jadi server yang menentukan dia mau
mengizinkan Apakah semua Origin ya bintang itu tadi yang disebut Apakah semua boleh manggil boleh membuat request atau Origin tertentu eh bisa
Diwi list di allow list atau by default kalau enggak ada enggak enggak dispesify ya udah by default same Origin tadi cuma
yang originnya sama ada beberapa loh nanti ada Le Eh terus Strik segala macam itu nanti ada Heeh
Ya dan same Origin always allow same Origin always allow ya ya Dan kalau tadi kita ngomong antar klien kan klien satu
ee dengan klien kedua gitu kan kalau misalkan kita taruh server di tengah-tengahnya itu tetap bisa datanya tetap bisa
diambil Iya servernya kan manggil ke yang berarti itu namanya middleman eh apa midleware ya proi Istilahnya ya proi
bisa karena itu ee ini hanya ada di browser enggak ada diakak ada di backend i i karena e sederhananya semua
data yang ada di klien itu bisa di fch kan bisa diolling kan kecuali kalau di pakai in
autentikasi Dan username password dan lain-lain gitu kan Kalau datanya publ seperti ini data design gitu kalau e
server mau ngambil ya bisa selama ini publ gitu kan meskipun Kalau antar klien ya enggak bisa antar browser atau antar
ya Antar klien lah http pokoknya request yang berasal dari client site dari browser ke server asal atau ke klien atau manapun nah soal
middleware tadi itu jadi kayak jadi landasan lah makanya jadi apa makanya banyak ada tools yang untuk mebypass eh
apa isu course kan ada ada linklinknya nanti bakal kita lihat itu belakangan aja tap yang jelas emang banyak toolsnya
jadi kayak misalnya tools.com dikasih query parameter eh url yang pengin kita Panggil Nah kita bikin requestnya ke tool yang untuk
Bypass itu jadiin Heeh proxi buat kurs oke nah eh sebenarnya tujuannya apa sih ada kurs-ks ini kenapa harus e Kenapa kita kena
error ini eh apakah ada hubungannya sama e keamanan data dan lain-lain atau ada isu lain Lebih utamanya ke arah security
sih security supaya security eh pertama Data kita aman enggak kita hanya mengizinkan itu diambil oleh EE dari yang kita polisi atau kita izinkan
kedua ee bisa ada ee ini kan kayak Cross scripting juga bisa terjadi kalau Oh i ya i i iya oke itu terus biar enggak di
didos atau apalah biar enggak di bombardir sama request yang kita enggak tahu dari mana ya Nah ini domain ini
termasuk subdomain enggak ee masuk engak ya Bisa diinclude subdomains kan ada Ada enggak sih ini ininya ada settingannya kan streigin
poliisy itu bisa include subdomains bisa bisa Strik enggak iya bisa bisa diow bisa di e reject gitu ya itu
kelihatannya ada itu dehroll ke bawah mana ya request Nah kalau request apa aja itu tuh Ternyata bukan cuma f
atau xhr tapi termasuk e apa web font termasuk yang di dalam CSS kita kan suka kelewat dan lain-lain nah terus bawah
lagi ada contohcontonya senario simple request
head engak ada ya ada kayaknya Coba deh ke bawah lagi examp ke atas atas H
ini ini kan bed bed Heeh beda beda enggak ada ya enggak ada di Sin stop stop stop stop
tadi ada itunya tadi kita baca headernya Eh ini Origin enggak ada kasih iya kan dia waktu dia ee request dia enggak ada
ngasih izin ee http course-nya kan kan he jadi by default dia same Origin Policy I nah terus terus kena reject
jadinya kan ini reject ya kondisi reject ya belum belum sih dia ini kan ini request ini ini dulu request Nah ini
baru responsnya itu karena access control all oh Origin di Bintang he semua boleh responsnya tetap 200 karena
Datanya ada cuma si browser akan men kalau dia Iya kalau engak ada Oh browsernya yang oh iya ya baru sadar
responsnya tetap 200 tapi ya E ininya enggak bisa engak BAAK bisa dibaca datanya ya Oh I ada penjelasannya
tuh server return bla bla bla header with access control Origin bintang yang artinya resour ini boleh diakses boleh
Origin siapapun ini yang biasanya saya taruh di engine X udah enggak usah pusing gitu itu kalau yang punya server kan Iya
nah ini kalau itu kan bintang ya semua boleh kan Heeh kalau kita mau taruh Tertentu bisa seperti ini contohnya Yes
hanya sat hanya hanya Oh di sini nanti bisa bintang.vu.example kali ya yes itu juga bisa bisa bisa dalam bentuk list enggak
atau array jadi saya mau Bintang Kalau enggak salah pakai spasi Deh spasi ya Oke kalau enggak salah ya
ada enggak di sini lupa ee bisa meodnya juga bisa di ini tuh bisa Di bisa bisa Diat
jugaesif kita cuma mau men get request atau He ini tadi ada gambar di atas ini ada ininya enggak penjelasannya kita
meloncat terlalu jauh ya Jadi kan kalau request dari klien minta sesuatu ke server minta layout.s minta imageak boleh gitu kan Tapi kalau kita
minta image.png dari Origin yang berbeda Oh ini sama juga ya dalam kanvas di dalamnya sini domain a kalau Heeh di
dalam kanvas kanvasnya image-nya dari domain B itu boleh minta ke domain B Oh itu boleh yang engak boleh kalau dari
luar itu tuh webfont Oh Oke kalau webfone enggak boleh jadi kalau iframe minta ke domain B iframe-nya domain B minta ke domain B
bisa Boleh kan saya Origin Oh tetapi wefone-nya yang di di domain a kan dimintanya dari luar tuh Iya dia css-nya
dari domain a Minta web font ke domain B itu enggak bisa enggak boleh oke oke nah Ini ada pertanyaan bagus
dari Damar kalau dari mobile app clien bisa kena juga kayaknya bisa ya W elektron mobile app webview
ya mobile app enggak mesti web viw bisa yang lain eh ya enggak makud Kalau native kalau native kan mungkin
pakai enggak enggak ada server kan enggak enggak ada server kan cobaak tahile enggak per enggak pernah bikin kayaknya enggak ada deh kayaknya
enggak adaak enggak kena deh nah gimana kalau kan http k Hah kan ini dari brer yang nerapin oh
browser ya kalau kita akses dari ee Postman atau http klien yang lain curel itu kena Enggak enggak ke Bypass
engak kur kur enggak posman kur enggak poman enggak ya Postman insomnia dan teman-temannya Iya dan teman-temannya http klien kan itu Oh berarti browser
aja ya spesifik ke browsernya impementasiin si eh apa si course ini Iya berarti kemungkinan besar mobile app
enggak kena cuma jadi tertarik jadi mikir itu sih webview webview atau elektron atau semacamnya yang Sebetulnya pakai Engine
Browser Kena enggak ya kena mungkin ya H bisa jadi bisa jadi kalau webview mungkin kena ya mungkin ya Apun yang pakai enginnya
browser tapi kalau elektron kalau elektron itu kan ada backend nya dia ada node js-nya di dalamnya jadi ada kayak
servernya dia proxy kali ya kayak semacam proxi heeh heeh Kayaknya gitu kalau elektron Ya tapi kalau web viiew
atau react native atau D enggak tahu berarti kalau pakai ini gimana web assembly belum tahu ya Hmm lebih jauh
lagi tuh apa lagi apaagi I Oke web assembly kena course gak itu itu yang harus kita cari tahu
nanti ya dianggap kayak kan Eh tadi ada kan kasas tuh lag masa ehak server engak tah De coba ya
WhatsApp dia kan bisa jalanin server WordPress kan backend kan e nah belum pernah pakai soalnya Iya cuma nebak-nebak aja sama belum pernah
juga soalnya kena kena Oh kena n Oh ya nih ini nih ini ada dokumentasinya silakan dibaca e jadi harus ada harus di proi ya
berarti ya ditambahin proin eh di bagian itu yang di bagian users itu addition each module mod is to securitycying with a
web browser restri the Origin Policy tetap kena Jadi kalau dia web assembly yang dijalankan di browser dia akan kena kena eh
security yang ada di kliennya maksudnya ini Oh oke karena web assembly juga bisa dijalankan di backend ya Jadi kalau yang
backend kalau di backend engak masah mengikuti kliennya di mana ya kalau di browser ya Sesuai yang di
browser ya terus kita bahas apa lagi nih ini ya Eh kayaknya tadi kita belum bahas preflight request ya Oh yang di
sini itu pright yang dicontoh itu mana di atas eh ke bawah bawah lagi bawah bawah kan tadi udah nih
dibahasah iyaah itu kadang kita kalau kalau misalnya baru belajar juga eh kali Bingung ya ngirim request sekali diklik
sekali yang muncul di kalau kita buka De tools terus apaelihat Network request kan muncul pasti dua tuh sebelum po
biasanya options dulu terus pernah ngalamin juga kalau pakai apa lambda functionnya verel itu kelihatannya dulu sempat ada ya isu lah jadi kalau
misalnya kita cuma bikin eh kan apa sih fun handler kita bikin Handler tuh kalau pakai lambdanya versel kita bikin hand
Kanah tapi e ternyata kena reject kena reject karena pas kita ngirim options gak bisa jadi kita ya tinggal bikin
handler options juga engak tahu sekarang sekarang masih kayak gitu atau udah dipatch oleh vernya nah ini karena ada
request yang option ya Hm unlike simple request prlighted request the browser first S nah itu jadi sebelum ngirim
request beneran yang mau kita kirim browser tuh eh secara otomatis ngirim eh request yang meod-nya namanya options
Nah itu ternyata tujuannya menentukan apakah requestnya Eh aman untuk diikirin Oh kayak ee ngping dulu ya mastiin B
bisa engak ini ini contoh ini Ini contohnya example requestnya begini ya kan He Itu kan post kan metodya post
kenyataannya nanti coba tu Scroll lagi itu dia ngirim option ada itunya balik lagi nah tuh dia ngirim options dulu
terus options methodnya si server ngasih tahu oke hanya boleh Heeh yang boleh po options terus allow headernya header apa
yang boleh dikirimkan juga ada nah terus responnya 204 tuh no content Karena kan dia belum ngapa-ngapain cuma
mengkonfirmasi aja oke Kamu boleh bikin request begini-gini Nah baru bawahnya si post request yang beneran yang mau
dikirim Nah itu di yang ketiga bar i ini biasanya kalau di kehidupan sehari-hari saya ngecek halo terus ya boleh nanya
enggak gitu Oh enggak kalau kalau sekarang sekarang I huruf P aja P gitu Iya apa sih P pink pink Pak ping pu pong
Balasnya apa Kalau ada yang P juga balas P lagi terusnya P lagi udah gitu aja terus nah detailnya seper Baru tahu Iya
Oh berarti P itu adalah PR flight kali Oh iya juga kali ya refl terus kita bahasnya get post sama kita b sama
delete 204 204 l konten Iya atau ada yang nanya gitu kan Maaf boleh tanya enggak lah itu barusan
nanya jawab enggak boleh berarti kita sebeningjawab itu iya oke oh berarti terjawab ya misteri selama ini P itu adalah kepanjangan dari
preflight brutal jawabnya 204 Baiklah oke lanjut ke mana Nah paling e Scroll ke bawah lagi respon headersnya kita lihat
sekilas aja Kan tadi udah dibahas tuh eh access controlow Origin dan teman-temannya terpati cookiesah itu dia nih atau bintang atau Iya udah pokoknya
oneeliner yang ngatasin semua masalah masalah sebenarnya Kalau dari segi keamanan mungkin ini ya belum tentu ideal Ya maksudnya mungkin ada kondisi
di mana kita enggak boleh pakai itu cuma kalau lagi buru-buru dan emang cuma pengin pengin front end cepat kelar Nah
itu di servernya tuh dikasih itu udah selesai semua selesai semua Sema tapi data kita bisa diakses dari
browser lain I iya bukan browser dari website lain dengan tanpa persetujuan kita gitulah kira-kira ya tujuan utamanya k
ini sebenarnya konsen ya konsen konsen jadi harus tahu sama tahu mau sama mau sama suka sama su suka
sama suka ini Ke mana arahnya nih mengirin dan merespons data Oh ad nah cuma kalau expos headers
tuh apa ya belum pernah Pak pakai koma mas R pakai koma berarti originnya kalau mau banyak bisa pakai koma pakai koma
berarti subdain itu termasuk Origin atau domain aja asal enggak dimion domain domain aja misalnya example.com itu kelihatannya semua
domain termasuk deh kecuali kita vo.example.com Nah itu kan subdomain khusus Ya udah kalau misalnya bar.xample.com dianggap eh bed Origin i
ya i i i Oke berikutnya kita masuk ke yang sini ini juga masih penjelasan ya k itu
apa ini contoh-contohnya tadi sebenarnya sudah kita bahas juga sekilas ya ini mirip sama yang tadi cuma lagi-lagi e
penyakitnya mdn sih mdn itu kan lengkap dan teknis dan bagus tapi itu lebih ber guna kalau kita sudah paham kalau belum
paham tuh kayak bingung nyarinya di mana Nah kalau ini kayak lebih catchy aja kayak lebih apa Ya gampang di cna ini
pertanya Mas Riz tadi nih your access Yes ehh Oh iya ini ya subdain dari atas dari atas Coba dari atas dulu tuh the
following table show the same or will be applied to normalwebsite.com Oh example jadi page-nya example HTML dari normal
website kalau ke normal website example saja bisa example du sebeda subfolder masih bisa tapi normal website bed SK beda
skim https https ya https sudah enggak bisa beda subdomain sudah enggak bisa beda domain ini sudah dianggap domain ya
different domain berarti ya Iya jatuhnya ini beda domain kan Iya heeh ini juga beda domain bed beda beda Origin Ya beda
Origin Iya beda Origin ini beda juga pnya I Origin Origin I Origin Internet Explorer will allow this
access because I does not take account of the port number when applying the same Origin Policy Jadi kalau ini masih
bisa di ie tapi Internet Explorer yang sebelum ya kalau kan udah chromium base kan he namanya bukan internet Age namanya internet AG
II juga ya jadinya Ya iya oke Ini contoh-contohnya cara aksesnya terus ada ini ya xping Add ini yang tadi
ya itu custom header Jadi kalau misalnya apapun apapun yang header kan ada x-nya i ya bebas bebas He preight
ini ya preight request yang tadi ya dan biasanya ya kalau ada company yang kalian kalian kalian ingin apply cek aja
headernya siapa tahu we are opening tuh ada di header biasanya atau di konsol di browser Iya yang sering
di kalau di konsol terlalu obvious biasanya yang lebih dalam lagi di header dia taruh Oh gituing atau X hiring gitu ada lucu
banget jadi yang yang tahu hanya yang ngulik ya Iya dia buka G nih buka buka Def tu gitu target audiens-nya
developer H ide bagus itu Ida Bagus tuh di Bali Mas Ida Bagus itu kalau Ida [Tertawa] Bagus ini tadi udah juga kita bahas
sebagian besar sama ya cuma enak aja dibacanya nih nih Kenapa butuh bisa gimana cara exploitnya itu gimana
coba the real attack Attacks require access control allow credential to be said to be true to be said to True
because this will allow the browser to send the credentials and read the response Oh without credentials many
Attacks become irrelevant It means You cannot write on a user cookies so there is often nothing to be by making their browser issue the
request rather than issuing it yourself Oh Jadi sebenarnya gak apa-apa ya kalau kasarannya tadi tuh apa low bintang itu
ya relatif gak apaapa ya sebenarnya gak apaapa di luarak di luar kemungkinan kalau di kan tetap apa di bombing request yang banyak gu ya
tetap bisa maksudnya tetap ada masalah security tapi bukan terkaitedenal bukan terkait kayak data-data sensitif cuma ya kayak
database kita kan B down atau mungkin tagihan cloud-nya bakal bengkak Kalau misalnya dibombardir request Nah itu tadi itu bahayanya kalau apa tadi header
credentials allow credentials SH to be true Nah ada head ada berarti ada header lain yang diset through jadi kayak Eh
credentials-nya kayak token dan lain-lain tuh kayak bisa dibaca ya oleh server berarti user Cookie oleh browser oleh Browser
user Cookie bahkan belum pernah pakai itu sih belum pernah pakai header itu sama sekali Nah kalau ini pokoknya yang di
halaman ini tuh berkaitan di bagian ini berkaitan sama pertimbangan security-nya Tapi jujur belum pernah ngulik sampai security-nya
sih kalau iframe kena juga berarti ya kalau beda domainnya Ken Iya beda Min Oke Jadi kalau misalkan ada iframe atau
pokoknya yang request lah ya khusus yang request ke eh domain yang lain ya Origin yang lain itu harus dicek
juga nah ini benar nih kata Damar konsol buat yang higher front end header buat back end betul betul betul benar benar benar
make Sense Sense oh bisa pakai bypass-nya pakai regex yaem.com Oh bisa dibikin begitu bisa
Advance gini ya ini apa nih the following table content special characterter list with the current compatibility Oh yang hijau cuman Safari hijau
semua itu apaan yang boleh ya boleh di mana nih Bypass regex Bypass if you f domainf.com to bewi listed You should check
victim.com.acker.com isel Oh ini ada ceritanya di sini kita engak baca jadi enggak dapat konteks Coba baca a pengin
tahu masalah securitys soal Kenapa penting kayak tanya Mas Kenapa penting course karena tadi saya bilang kan karena bisa crosspting ya ini
penjelasan baca ya kita gak akan gali lebih dalam karena sudah agak di luar konteks sedikit next ini adalah jawaban ST
overflow yang cukup membantuom in Zoom inom pertanyaan Inya kenapa kenapa ada k-kan I intinya I'm trying to understand kenapa
error pas pertama kali ketemu course pasti apa eh alur mikirnya dariak mikir dari sudut pandang servernya karena kita kan lagi ngerjain
C side request ya kita lagi fokus di ini requestnya salah apa kok tiba-tiba gak bisa e sebelumnya di atau di bisa-bisa
aja padahal ini kan sebenarnya dari sudut pandang servernya untuk pertimbangan ini nih ini tadi ada pertanyaan saya berkaitan
dengan http klien yang lain selain browser itu eh tidak menggunakan s Origin atau course request made from
this other http client don't have an Origin unless the po desktop emul a browser it willble to requ any URL nah
ini yang sering bikin bingung kalau belum tahu soal kurs kan tadi dicoba-nya bisa Iya begitu di Kak bisa tadi di bisa
Diman bisa tapi kalau di pakai javascript kok gak bisa pusing sendiri ini kenapa gitu ujung-ujung and the orig POC A Browser
does notlicit trust the websitequ website karena kan Semua orang bisa bisa buka browser Eh bisa jalanin vch atau jalanin CLI request dari
browser ke server manapun ke Origin manapun They don't protect the Origin S they protect the s receiving the cross
Origin request this is itu si servernya resour sedikit mengenai Crosses kan misalnya gini anggap kalian punya punya
situs terus ada com bo anggap ini e zaman saya kita belajar bikin form komen ya zaman itu Jadi kita gak saniti
gak clean apa yang dimasukin user jadi misalnya saya masukin kode javascript ke com Bo dan saya masukin
itu Anggaplah kita sayaukin benar-benar Mal code ya Mal mengambil Cookie dan mengirimkan ke server saya contohnya ya kan yang
terjadi adalah begitu Ee komen saya di up tapi kan gak kelihatan apa-apa tetapi di back di background javascript saya
dieexecute oleh si pengunjung bukan oleh si pemilik pengunjung kan pengunjung halaman itu semua pengunjung yang Membuka halaman itu Iya Akhirnya saya
bisa ngambil cookies bisa ngambil analis analitik apa segala macam dan cross Origin mengirimkan ke Cross Origin ke
situs saya tempat lain tempat lain Nah itulah maksudnya Eh yang diprotect oleh si browser kalau tidak satu Origin saya
eh script apapun itu enggak Boleh request enggak boleh post ke tempat lain kalau tidak diizinkan oleh si eh pemilik
Origin pemilik domain atau pemilik server pemilik resource yang menerima request itu ya betul Iya ya Oke Oke jadi
itu bahayanya ya kalau kita allow semuanya gitu ya kalau kita allow Minang Ya semua kena bisa Bisa kirimkan gitu eh
iya benar Oh ini hampir sama konsepnya hampir sama seperti SQL injection kali ya enggak heeh tapi di front end Iya
tapi di front end beda kalau SK itu kan B kita men-submit sesuatu yang diterima server untuk dimasukin ke database dan diinject ya
kan betul ini enggak jadi eh ininya karenaj kontennya tetap masuk ke database seseorang tetapi waktu dioad javascript-nya dijalankan dan
mengirimkan data ke tempat lain i ya gitu oke oke benar benar oke terus eh pembahasan berikutnya masih sama
tentang course juga ini artikel ya artikel yang berbeda course itu apa kita enggak usah bahas bagaimana cara kerjanya ya ini ya
Nah itu juga sebenarnya kayak tadi cuma kata-katanya lebih santai aja Le ini kayak kayak ngobrol gitu ya jadi BR Heeh
eh saya mau query ya Apa ini request gitu mau fetch Eh tapi apa nih but i'm supposed to
block it Iya browsernya kan melindungi tadi kan eh browsernya harus memblokir unless kecuali server bilang boleh kok n
Oh ini yang tadi prefet ya Ini tadi prefage ya cek dulu saya ngceek Nih servernya bolehin Enggak saya ngambil
data dari kamu gitu ya Heeh eh terus si servernya bilang ee coba cek di sini request kamu ada di
sini enggak ya servernya bilang pokoknya e yang boleh yang boleh bikin request tuh domaina.com method-nya boleh get
post options delete validasinya durasinya 10 menit Terus browsernya Oh ya betul betul boleh lanjut Iya nah begitu boleh kita ee kirimin data
sesuatu akhirnya po nah ini kalau ee berbeda kalau berbeda ee Saya mau kirimin sesuatu ke ee domain yang lain apakah boleh kalau
tidak boleh Tolong dikasih tahu dikasih tahu servernya juga sama bilang Cuma boleh domainom metodnya ini ini ini
validasinya begini terus browser kan ini jadi eh mekanisme yang diimplementasi oleh Brow makanya tadi kan kalau di
environment lain enggak berlaku browser bilang oh jangan berarti ini ada ada sesuatu yang mencurigakan pokoknya enggak seharusnya Jalan diblokir oleh
browser berarti ini murni interupsi dari browser ya Heeh dan e yang mengirim error di konsol adalah browsernya bukan
servernya servernya kan belum ngesons pakai error kan enggak ngespons apa-apa kecuali e responnya cuma bilang yang Boleh request itu ini ini ini dengan ini
Iya bahkan eh responsnya itu 200 kan 200 itu berhasil tapi di blok datanya gak bisa kita baca karena
berbeda originnya request the all
domain eh apa post ya iyaay kalau kan enggak ada optionsnya bukan bukan yang tetap ada cuma coba
bacain tadi yang Man atas atas itu Not all request Trigger pref request eh oh ya get request gak Trigger tapi
engak langsung post request dengan eh form URL Iya biasanya form yang di-ubmit ya form yang disubmit ya
I Alasannya karena itu adalah itu dianggap sebagai simple request nah terus daftarnya nanti bisa dicek sendiri nah ini oh you can only allow one
domain domain ini dari mana PSP ini contoh P di server ya tambahernya Origin Oh engak bisa langsung kayak misal di engine X gitu
enggak bisa dong kalau itunya banyak ini dicek ya ini ini middleware kan semacam middleware kan dia ngecek header terus
kemudian dia tampilin kan kalau ada dilup aja semua header key-nya dimasukin satu Keu kalau ada maka ini dinamis ya
jadi lebih dinamis ya heeh tapi enggak bisa akses control allow Origin tik2x eh domain a.com domainb.com enggak bisa
berarti oh iya ini ini lebih lebih familiar ya kali ya buat teman-teman ya javascript ini nojs ya ini nojs hampir
sama ya kurang Lebi sama caranya gimana Terserah yang penting kita bikin headernya ya eh jumlah headernya jumlah
header access control allow Origin sebanyak domain yang pengin kita allow Saya yakin teman-teman pasti menggunakan modul atau library yang namanya course
di Express Enggak usahai beginiegini ini ini ini cara manual ya Ini cara manual ya sebenarnya eh middleware course itu
ya Ini sebenarnya He tapi kita pakai cara manual jadinya ya Ee agak enggak panjang juga sih maksudnya cara kerjanya kayak gitu k
kalau kan dry do not repeat yourself Ya udah pakai aja library yang udah ada yang penting kita paham I termasuk is 13
is1 ya Hah itu kan is13 is1 JS Oh nm library aneh kapan-kapan kita bikin Yuk episode library penting Enggak
penting berar kapan ya si NPM menerapkan ini ya dilarang upload Bukan dilarang engak penting Oh iya eh iya bukan
dilarang lebih ke dikurasi ada approvalnya Oh kayak web store gitu kayak App Store gitu kan diapprove dulu dicek karena kan
banyak kasus ya ya bukan hanya di NPM sih ya di Python juga pernah kejadian di ruby saya enggak tahu saya
pernah dengar yang kayak faker ya Iya faker terus ada masuk-masukin apa namanya E mining ya kan banyak kan gitu
ada yang memanfaatkan Taipo dulu pernah ada mongodbi Taipo Nah itu masuk ke mana ya jadi kayaknya kurang dekorasi aja
gitu sayang banget Padahal kalau dekorasi pun bisa aja masih bocor gitu kan tapi ya mungkin ee ini ya apa ada bisnis modelnya lah
bisnis modelnya kalau harus kurasi kan orangnya banyak ya butuh ya oh Cuma kalau NPM kan emang dia jualan private
registry juga Kanang jualan Iya J Jadi kalau misalkan mau aman ya sudahudah jualan e apa organisasi Anda mengkonsumsi dari
registnya sendiri kurasinya segala macam ya diserahin ke yang jalanin si organization private itu kan Ya betul Jadi bukan klien yang melindungi server
tapi Browser yang melind browser melindungi klien dan server juga kan Jadi maksudnya kalau si servernya tadi enggak konsen tuh bilangak eh Saya cuma
mau menerima ini ini ini ya browsernya Tahu Diri engak ngirim request lagi kan kalau emang ggak diterima
nah ini ada ya WK WK WK WK WK WK webview itu apaan coba eh ini adalah webview untuk e
iOS namanya wk webview kenap Nam gak tahu kepanjangannya apa itu that a web viw with Cordova or ionic Android Won give
you any trouble but the new wk webw wk W iOS requ Oh yang iOS butuh yang Android
tidakgalan andid another alternative is not to make request in your app and use aordova plugin request ada disedain jadi
mekanisme htp request di tuh kayak ada ada proses Ada ada itunya sendiri implementasinya sendiriakin ee react native flutter dan teman-temannya juga
menyediakan jadi bukan pakai fetch bukan bukan pakai browser sama aja kayak elektron tadi elektron juga di dalamnya
tuh ada notjs Jadi kalau kita mau file akses segala macam itu pakai fs.open gitu-gitu jadi ada servernya lah ada
servernya jadinya harusnya aman Oke Kenapa sih kasusnya belum pernah eemu F System On Chrome and Safari tap gak Firefox if you make a
request to local file Firefox an webkit bas browsers like Chrome or Safari will Consider This is security
and block toal oh local file kalau kita fch di Firefox aman tapi di Chrome atau Safari itu
kena itu kan berarti kan beda skim harusnya ya secara secara SP Ben firefoxnya yang berbeda pendapat sendiri I ini ini kalau
teman-teman penasaran kenapa Sir dan Fari eh apa base-nya sama webkit kita sudah pernah bahas ya tentang browser ya
jadi itu forking forking webkit dia bikin Chrome Safari pakai webkit nah webkit bapaknya dari si E Browser Iya apa sebelumnya kde
environment kde ya Iya dari dari Linux ada desktop environment namanya kde ada browser namanya k browser Kalau enggak
salah namanya bukan netscape ya netscape jadi netscape dari Firefox lahir Oh netcape Firefox iya oh Firefox Iya itu
satatunya masih Bert masih bertahan dengan browser engine yang berbeda untuk saat ini adalah Firefox Firefox Melawan Dunia yang lainnya udah mirip-mirip ya
tapi semakin ke sini semakin berbeda ya E antara webkit heehr atau chrum sudah agak berbed I agak sedikit berbeda berbeda visi
makanya saling apa mereka working kan Oke berikutnya apa lagi nih protokol http protokol ini adalah bagian dari web
standar ya Heeh Ya itu kalau ada yang iseng banget Pengin lihat eh apa spesifikasinya jadi e si ini bukan
maunya ya tadi walaupun banyak browser engine yang e apa semua browser engine mengimplementasikan course ini sesuai pfsir sesuai cara mereka masing-masing
tapi course ini bukan punya bukan milik browser vendor manapun jadi ini spesifikasi teknis Emang bagian dari speknya
sctp Iya terus nah 3.2 tuh for Protocol oke ituus tadi yang kita B tadi Iya versale fetches fch that
possible with html form Element the course Protocol Exist it is layer on top of http and allow response to declare
They can be shared with other originscare Finya adalah respons dari server atau resource-nya itu mendeklarasikan oke eh saya mau
membagi respon dengan Origin tertentu H oke Terus kalau kita apa tadi kita masih bahas tentang ee preflight juga
optimizing course technic for bypassing course preflight request to improve performance ini berarti ada kaitannya dengan performance ya n kita harus kan
pasti makan waktu kan apa prev dulu terima respons terus habis itu baru kirim respons eh oh jadi yang tadinya satu kali
request jadi dua Iya jadi ada dua request ya request respons walaupun sebetulnya mungkin in real world ini 0,0
berapa detik sih ya kalau request kan tetap ini setiap request kita lakukan ini I setiap request kecuali get ya
he kenapa itu contohnya pakai g ya tapi iya iya salah oke caranya gimana ya pertama adalah caching heehing itu adalah menyimpan
data terakhir I tambahin ini ya jadi eh datanya udah e apa Di sini masih valid atau enggak Kalau masih masuk ke Eh
umurnya 24 jam masih berarti masih dianggap sebagai valid jadi enggak perlu previde enggak perlu ngecek bisa langsung get nah cuma ini enek juga
karena karena toh enggak di preflight dan yang bisa dik Ca get Ya masa mau diashing gak mungkin juga kan Nah jadi
kita skipnya adalah e apa namanya kekurangannya adalah with one should be aare ofnya bat ada cas cas key browser Keys
case by http method and url as if you are accessing control Cross Origin backend and make multiple api with
variable set ofying parameters then cching will have little no on performance tetap aja dia akan request karena variabelnya itu pak
stringy ya berubah berbeda terus berbeda terus jadi kalau kita siapa nih yang sering melakukan ini wah ini kok cching
kok k datanyaak berah mungking kita tambahying supaya saya sampai sekarang masih begitu Itu kan cdn enggak Mesti cdn kadang-kadang kalau
kita main back sama dengan S Iya mungkin kita lupa ya di Def tool itu bisa diisable ya Jadi
pada saat kita buka Dev tools itu by default itu enable memang tapi kita bisa bikin itu disable di mana di sini ya ni
disable Cage I iya ya bukan itu aja jadi enggak perlu pakai yang tadi ctrl shift r oh
udah hafal yatrol kalau Windows ya kalau comand command shift kalau di Oh iya command shift or kalau kita buka apa E Chrome
Dev tools kita pencet yang lama difresh itu dia muncul kan normal refresh pop upnya refresh sama MT
refresh itu ada juga i itu juga bisa paling gampang inkognito aja betul oke nah strategi dua tuh lumayan
Overkill juga sih tuh lucu banget bikin iframe iframe-nya same Origin nah terus kita bikin listener event listener untuk
mendeteksi apa tuh kayak respons dari dalam ifame ini lumayan kreatif ya Heeh akal-akal mtir Ini ya ya berarti ya
Heeh wah seru ini malah jadi kayak itu loh kayak kalau pakai service worker Itu loh eh Apa add Event listener eh kirim message
post pakai apa method post message ya ya ya I iframe loading iframe browser overhead repot multiple request ya
strategi ketiga yang paling umum dipakai ini kelihatannya ya middleman middleware ya Ada proxy Jadi kita tetap menggunakan
apa namanya Origin kita Nah si server yang ini yang berurusan sama ee luar sama dunia luar ini yang
paling yang paling ideal kali ya cukup eh cukup umum cukup umum yang paling ideal tapi kita butuh resource untuk ini
kan maksudnya Ya enggak gede sih tapi ya tetap butuh maintenance servernya setup-nya harus update juga dan lain-lain kan atau kita bisa pakai
service yang sudah ada tapi ya kita bergantung ke third party service yang gratisan juga ada tapi ya itu lagi-lagi
Eh udah gratisan eh Nal service ya apa ada risikonya ada kalau dia tiba-tiba hilang kita pusing terus eh
belum Kalau urusan data Sensitif atau keamanan atau apa kalau mereka kena eh security Bridge kita bisa Repot juga
ikutan juga karena Iya Azure Front door or aws Cloud front gcp mana gcp apa ya GP ada kan
enggak ada ya Ya enggak tahu engak tahu enggak tahu Oh enggak tahu ya I besok-besok kita tanya Kei tanya Mas I
kalau mau sendiri ya Bisa Iya cuman kan udah ada cuma yang terima jadi Heeh kalau Cloud flare termasuk enggak
enggak ya Cloud flare proxy juga kan dia cuma engak proxi Iya tapi dia bukan ke dia enggak bisa bukan untuk dia untuk
dedos untuk gitu-gitu kan heeh Dia hanya bisa proi proi ke Origin dia gak bisa proi ke ke non Origin
Oke strategi keempat refactor to simple request ini lebih mahal biasanya Nah tadi Oh kalau belum tentu bisa juga kan
reftor ujung-ujungnya refor ya kan belum tentu bisa juga ini yang kita tadi kan get eh atau post tapi yang dari form
yang jenis datanya apa url formc ya simple requestqu yang t
html can submit simple request to any Origin so anyone wting a server must already protected against crosside request forgery
csrf kalau teman-teman eh tidak mengalami atau belum mengalami ini biasanya di Framework itu sudah ditangani ya termasuk juga lain-lain ya
Ada helpernya ada helpernya number oh tadi udah kita baca ya Iya tadi kita bahas tapi dari artikel Sya
nah cuma kan itu cuma ngelink kalau pengin baca detailnya soal simple request ya itu baca di mdn Jadi kalau Pak get aja at bisa
langsung tapi kalau misalkan enggak ya harus pakai preflight ya Heeh simple request example ini pakai get Nah kan enggak semua operasi bisa
pakai get doang kirimin datanya gimana pakai header ya Kirimin datanya kelihatan dong Eh kalau datanya stringor kalau datanya enggak Enggak
penting kredensial Enggak penting ya Enggak masalah kirim ya kalau enggak penting ngapain kirim ya kalau isi pos itu kan penting
juga cuma ya emang tujuannya untuk pakai Git Nah kalau kejadian Terus eh teman-teman misalkan kena ee masalah
cors kira-kira apa yang terjadi Hah 12 tahun 3 tahun yang lalu 12 tahun itu 12 tahun lalu profileennya itu oh iya oh
iya wow ya 10 tahun lalu Enggak berubah ya karena ee apa spesifikasi hctp ya gitu-gitu aja sebetulnya no JS proxy Which adds course
header to the proxy request jadi ini kita bikin server sederhana di local host ya atau di tempat lain terserah
untuk ee membuka itu ya yang tadi ya berarti yang ini ya yang ada di tengah-tengah tadi yang middleware tadi middleware he
iya ya ini jadi kita bikin server ini itu salah satu solusinya Jadi nyediain tapi Pak heroku Gak tahu
masih hidup gak ya dulu pakai heroku gratis pakai sekarang pas udah B Oh masih we mantap coba harus tempor klik
only requ kan Hero gratisan sekarang udah engak ada Oh iya dia bayar berarti kasihan tapi di bawahnya ada lagi nih
this demo shown How to use the api kan tinggal belakangnya dikasih query aja kan e url yang pengin kita
tuju iya misalkan apa enggak tahu apa enggak punya contoh example api example api ya Apa aja L ya get mah aman he Ya gitulah
pokya Cara pakainya I kalau misalkan nanti mau ee apa form gitu kan ee apa submit form tapi ke Origin yang berbeda
bisa coba pakai course Anywhere ya dh.com ada satu lagi ya ada satu lagi oh ini ini kode
ya Iya itu dasarnya yang yang lengkap banget pokoknya segala service proxy buat eh apa itu ada Cloud flare course CL course
anyw Baru tahu ni aja klik aja Ke mana perginya Oh ini bulan yang lalu Ah unoficial tapi iya
iyaal jalan di ini pasti di di ed-nya cloudf kali ya Oh di workers itu deploy ke workers
Cloud betul betul koworker workers. Dev ya oke terus ada apa lagi course Anywhere all Origins possibly
that mungkin sudah ya itu tadi resikonya pakai layanan third party ya tiba-tiba dia bisa mati kapanpun k untuk ini untuk
kalau beginian kan untuk development aja Oh kalau E ini Eh ini kan server site ya kalau cuma development di lokal mah
pakai extension browser aja sih yang lebih cepat Iya benar car ajar Chrome extension Bypass course pasti banyak tuh
yang muncul kan Tapi buat di lokal ya buat apa development kan pure development Terus kalau buat production
Gimana caranya kalau mau misalkan nih pada saat develop kita pakai itu pada saat ke server gimana harus pakai
service ini Iya itu tadi pakai service thir party atau bikin sendiri ya kita bikin sendiri aja middleware I berarti itu hanya untuk tes
bahwa Eh masalahnya di situ ya memastikan Heeh Ya terus kita kan He kita cuma pengin develop UI ini pengin lihat uinya Muncul
atau enggak misalnya Oke ini ada salah satunya ya salah satunya nah ini dulu sering saya pakai nih buat
demo kalau kena corse pakai tunnel pakai tunel tanel itu berfungsinya kayak proxy juga ya berarti sama ya dia ada dia ada server kan
Yes tunel itu kan buat kayak VPN Gitu kan ya tuneling dari online bisa ke lokalal betul betul bisa bisa itu kan
jadinya server juga kan heeh berarti apapun punya Biar enggak langsung dari CLI site dari browser ke resource atau
server yang dituju kan yang penting ada sesuatu di tengah-tengah kalau ini apa namanya ini nanti saya demoin ini nih
kalau enggak perlu lagi pakai extension extension Langsung aja cari bisa dari cari Contohnya apa ya oh cari
contoh II ya Oh ini enggak ah terlalu Rib CG ya entar entar example Api Lah ini e apinya Open ai lah Nah nah nah
bisa bisa Sini coba kita contohin sama-sama yuk demo demo demo demo oke Oke yuk entire screen aja biar gampang
hidupnya Share screen e Nih dari si eh apa namanya zoomom in jadi si Death tool itu kita bisa
hidupin dan bisa override content sama override header contohnya di sini ya Oh bar tahu ini inspect e kalau kita lihat
zoom in dulu zoom in zoom in zoom in enggak kelihatan kelihatan kelihatan Oke kalau kita lihat ches ada
list.json ya kan kita bisa lihat eh respon headernya sama respons eh headernya coba kita lihat request tadi
kita lihat eh netlify strict transport cuma gitu doang sih enggak ada Nah kita bisaalnya show override content sama
override header kita coba override content dulu ya Nah select folder eh oke bisa ngambil dari local file ya
nanti di local file list jsonnya itu di local file ini lihat ya saya coba ngob web Oke kita save panjang kita reload
copy diskon setelah jadinya itu nah satu sisi lain kita juga bisa ngerubah Ee kita baca selanjutnya deh pelan-pelan
itu untuk override content ya kan kita select foldernya nanti dia akan save file json-nya itu di foldernya file jadi
nanti inad of jadi si Def tool itu dia ngambil dari server enggak enggak ngambil dari servera tapi nge-load yang
di lokal dari sistem kita yang udah kita pilih terus bisa juga kita override eh respon Sher respon Sher ya yang dioverride
bukan request-nya kan berarti Yes kalau requestnya ngapain kita bisa rubah requestya kita kalau Iya Jadi maksudnya apa kalau Tadinya enggak boleh aslinya
enggak boleh dari server tinggal kita override jadi boleh kan jadi bisa Iya Terus Ya betul sekali ini ada banyak
header yang bisa Cross Origin permion Policy Cross Origin ass header juga bisa kita rubah contohnya ya respon
header-nya eh kita Klik Kanan override header Nah kan langsung bisa ditulis nih E Bisa diini nih oh iya i misalnya kita mau
tambahin eh tadi apa allow akses Apa sih tadi gak pernah allow Origin contoh ya AC terus tapi kita bikinnya https cofy
card c- c. google.com contohnya ya kan harusnya enggak working dong refresh error salah entar refresh harusnya error tapi kok enggak
Error E karena ngambil datanya dari lokal iya enggak iya pak kita ee Iya juga kali ya Ee bisa jadi kita
responsnya coba di dibalikin lagi ke semula Gimana caranya Hapus dulu ya kita hapus kita eh Lagian kalogate kelihatannya enggak ng
bisa kan kalogate kan heeh Coba ya kita saya sudah hapus yang lokal harusnya enggak ada ngobrolin web
nahak ya Network listnya masih dapat kan Engak bis Iya kalau get kan bisa normal harus yang pos susah bnya kalau
pos ya entar coba sendiri pakai po lah kalau G kelihatannya enggak pernah pakai bikin aplikasi harus bikin itu Iya bikin
form akses kontrol allow Origin https Wi Ini kan dari originnya dari si kficat.app kalau Oh maksudnya kalau ada
script misalnya gini kalau ada script dari sini fetch ini enggak bisa Oh gitu ke google.com eh bukan ke saya ke source-nya itu tadi
kan ke source-nya si Lis coffee itu kan coba ada gak yang pakai petik pakai petik pakai petik example api example
api Nah swapi swapi Oh I swapi Star Wars api holder pakai tanda petik tuh jangan lupa Iya
SW nah ini tapi itu G doang gak apa-apa itu aja swapi.dev/api/ people SL sat petik petik petik Nah itu siapa look
Skywalker ya people yang ID S Iya kayaknya kok dia engak mau sih swap enggak mau swap https enggak dikasih iya
tahu dia enggak ngasih enggak boleh yaak boak swapi.dd/ api/p/1 bisa bisa kan a wait await
Enggak diwait soalnya a wait duluit F bisa kan langsung kan udah nah terus enggak ada keluar hasilnya Oh di sini
keluarnya bisa muncul ya tapi dia ee headernya apa karena kalau Origin bentar bentar saya cobacoba Oh mau diit
offri offri tapi hanya boleh dari google.com google.com kita coba lagi sekarang Coba lagi harusnya enggak boleh s ohoke
oke itu cara [Tepuk tangan] kerj demonya berhasil demonya berhasil iya orang ngemo supaya bisa byp course kita supaya supaya course supaya
cor supaya error lebih susah loh mendemokan supaya Error itu lebih susah tadinya Benar Jadi eror salah tapi kalau dipikir-pikir De tools
tuh makin lama makin canggih ya buat recording apa eh user Interaction flow udah ada buat override eh
apa udah ada lama-lama extension enggak laku Eh betul saya waktu belajar ini senang banget karena saya daripada bikin
faker-fakeran segala macam saya langsung aja dari sini ngetes segala macam save terus tada spso Tes Iya benar
juga sekian demonya dan terima kasih ye Nah kalau yang jesanp ini perlu dibahas iya ni apa nih tanggung perlu
karena gua enggak ngerti itu apa ini kalau ada yang mau baca soal Death tool nanti bisanya tool untuk Oke Dan kalau nanti
ada yang mau lebih bahas lebih dalam mungkin itu jadi topik io Extended saya We bisa bisa bisa bisa apa yang baru di
Death tools gitu ya Iya nah oke Jason P nah Anda pernah tahu Jasson P bukan Jason udah pernah bahas kan sempat bahas
sedikit di konfigurasi file kan sebenarnya kan Iya heeh kita tapi ada pern pakai Enggak ini sering saya pakai dulu
sebelum ada k k coran saya sebelum masudnya untuk Bypass course Oh ya Jadi begini ceritanya eh Jason P itu artinya json
With padding ee oke kalau misalnya saya ajak nih tetapi mau kayak gini contohnya Saya mau ambil dari Twitter timeline dulunya atau mau
ambil dari list dari e third party api yang tidak mengizinkan allow Origin itu tetapi dia ngasih bisa data typya
json dia gak ada belum ada headerheader course dia kasihapi dia memperbolehkan Jon atau aplikasi Saya sendiri dari
domain berbeda dan Eem daripada saya pakai allow course saya pakai Jon P format cara jadinya begini Scroll nanti
e terus terus terus terus Jason P json with padding how it works ya How does it work
e kalau kita json biasa tuh seperti ini turun seperti ini kan first name last name kalau pakai Jason P itu ada
callback yang akan membuat dia jadi string oh Oke e Turun lagi e ini error kalau e Turun
lagi dia akan Nah ini dia jadi call back name e callb name itu whatever ya Apun stringnya Terserah mau ngobrolin web
terus kurung terus baru jonnya itu nanti akan jadi window object turun ke bawah ini absurd nah ini Bypass si course karena karena
ini adalah karena dia dia tidak termasuk dalam polisy itu konten termasuk dalam pol spesifikasi hctp header bla bla bla
itu apa ini ini enggak masuk deteksi itu ini kan callback ya Kenapa namanya padding kir pakai spasi
bayangin CSS atau apa padding atauud Jason kan spasi saya Kenapa namanya Kenapa namanya padding I sama kayak
Kenapa Java dan javascript ya kayak gitulah pertanyaannya itu sama itu artinya saya enggak tahu Eh kalau javascrip ada penjelasannya kan dulu
Java lagi ngetren jadi kayak Ya udahlah kasih aja n kasih aja nama ada javajavanya formatnya formatnya tetap
Jason mungkin dikasih pedding Kenapa padding Iya Kenapa namanya Pading gitu k Jason C Jason with atau Jason F Jason I don't know Iya
ini nanya ke yang bikin Sebenarnya dia akan akalan aja supaya Bypass itu sih karena jadi jadi objeknya si ini objeknya Windows script
Jadi bukan Jason data dia Iya Yang kita permasalahkan bukan ininya yang kita permasalahkan Kenapa namanya Jason padding
Pading adaada aja enggak ada jawabannya enggak terjawab engak ada jawabannya iya ya maklumlah e yang kasih nama kayaknya
developer ya Jadi ya Heeh itu P itu kata Damar tuh kayak Siapaan 204 204 20 pright get option Del oh Jon pright aja
bagus namanya j p juga tapi bukan Pading Oke Oke jadi sudah jelas e tentang course malam hari ini mudah-mudahan dapat
pencerahan lagi ya kayaknya kayaknya semakin ke sini ya orang sudah semakin teredukasi error Jason e apa error Jason
error course itu apa dan solusinya Seperti apa Kalau dulu kan kayak ee kita masih belum tahu misterius kan
wah kaget langsung ini error nih Sembarang kius overflow Iya kita cobain di http klien pakai cural pakai Postman
dan lain-lain Kok aman gitu ya kenapa ini salahnya di di kode front end kita kah atau gimana gitu kan sama kayak sama
kayak dot def-nya Mas Diza ini pakai cural bisa 200 https http Iya httpdomain.f pakai CH bisa pakai POP bisa loh browser engak
bisaid ke https masalahnya itu Dod kan enggak cobain domain yang lain kan jadi kita enggak tahu enggak bisa membandingkan Ya
begitulah jadi ee solusinya sudah lumain banyak tadi ya I browser mistery browser ini adalah salah satu cara browser ee
apa ya memproteksi ya mengamankan ee ya semua penggunanya pengguna baik dari klien dari server Iya kalau yang paling gampang
throwin server kenapa bikin Bingung bikin bingung Iya frontend itu banyak banget ininya ya under dealnya ya perintilan-perintilan kecil yang
eh menghalangi kita untuk getting things done tapi sebetulnya kalau udah tahu cara kerjanya kayak gini nih kalau kita
sudah baca itu semua tadi Oh I ngertierti Tapi sebelum ke situ Kayak Eh aneh amat ini Makanya nonton ngobrolin
nonton ngobrolin web biar menambah ini ya Cakrawala pengalaman jadi apa yang sudah kita alami kalau dicat huruf P doang jawabnya
apa biar itu tujuannya itupat Iya Iya Iya Iya Oke kalau gitu e ada lagi sebelum udahan kita mau ada
yang Dias itu kalau ada yang mau usul saran kalau eh usul usul topik topik saran kritik ya mau ngundang siapa Boleh
keesana.in/ ngobrolin eh mau nanya-nanya juga boleh mau nanya-nanya juga boleh mau kalau punya ide mau bikin aplikasi
web ya jangan aplikasi Mobile boleh juga ee nanya-nanya ke kita apa aja pokoknya boleh kita menerima walaupun belum tentu
dijawab tapi bisa kita jadikan bahan referensi kalau kita gak ada Obrolan apa gitu yang mau diobrolin ya kita bisa
bisa membaca pertanyaan di sini nanti kita akan jawab ini sebagai pengganti slido ya kemarin ya kalau slido itu
kayak gak ada diskusinya Kalau ini kan kita bisa diskusi nih kayak yang ini nah ini menarik nih image to ada V ada
macam-macam ya tadi saya cobain Yangnya kita bisa sambil ee diskusi juga di sini jadi nanti pas ee topiknya
diangkat kita bisa ee mereferensikan apa yang teman-teman EE dan kita diskusikan di sini oke mungkin untuk malam hari ini
segitu dulu aja ee tuh Dita udah udah mau nodong nih ya kayaknya ya Asik emang sudah ada
tanggalnyaanggalnya i jadi Ti sudah ada Katanya tiba-tiba sudah ada ya ya biar enggak keburu diambil dibooking sama kota-kota
lain ya Oke kita udahan dulu terima kasih banyak buat atensinya e buat obrolannya dan buat diskusinya malam
hari ini kita ketemu lagi minggu depan di selasa malam jam malam sampai jumpa jaga kesehatan semuanya mudah-mudahan tahun barunya berjalan
lancar ya lancar sampai jumpa bye bye
Deskripsi asli dari YouTube
Yuk mari kita diskusi dan ngobrol ngalor-ngidul tentang dunia web. Agar tetap up-to-date dengan teknologi web terkini. Topik, tautan dan pertanyaan menarik bisa dilayangkan ke https://ksana.in/ngobrolinweb Kunjungi https://ngobrol.in untuk catatan, tautan dan informasi topik lainnya.
Episode Terkait
9 Agu 2023
Ngobrolin URL
Episode ini bagian dari niat baru mereka: menyelipkan topik yang benar-benar mendasar setidaknya sebulan sekali, alih-al...
23 Jul 2025
Bedah Buku Problem Solving 101
Episode ini membahas buku "Problem Solving 101" karya Ken Watanabe, mantan konsultan McKinsey yang menulis buku ini seba...
8 Nov 2023
Ngobrolin Code Review
Sebelum masuk topik, mereka membahas RedwoodJS — meta framework yang menyediakan segalanya sekaligus, dari Prisma untuk ...
Suka episode ini?
Episode baru setiap Selasa malam. Dengarkan lewat YouTube, Spotify, atau feed podcast favoritmu.
Memuat komentar dari GitHub Discussions...
Jika komentar tidak muncul karena ekstensi privasi / adblocker, kamu bisa berdiskusi langsung di GitHub Discussions .