Penguji Permintaan CORS
Kirim permintaan lintas asal sungguhan dari browser ke API apa pun untuk melihat apakah CORS mengizinkannya. Menjelaskan kapan preflight diperlukan dan header yang terbaca.
Apa itu Penguji CORS?
Penguji CORS ini mengirim permintaan lintas asal yang sungguhan dari browser Anda – dengan metode, Content-Type, header kustom, dan mode kredensial pilihan Anda – lalu melaporkan apakah browser mengizinkan JavaScript membaca responsnya. Sebelum dikirim, alat ini menjelaskan apakah permintaan tergolong "simple" atau memerlukan preflight OPTIONS beserta alasannya.
Cara menggunakan Penguji CORS
- Masukkan URL API yang ingin diuji.
- Pilih metode, Content-Type opsional, dan header kustom opsional seperti
Authorization: Bearer x. - Centang "Kirim cookie / kredensial" jika aplikasi Anda memakai credentials: include.
- Baca penjelasan preflight, lalu tekan Kirim permintaan uji.
- Jika diizinkan, tinjau status dan header yang dapat dilihat JavaScript; jika diblokir, periksa konsol browser untuk pesan error CORS yang tepat.
Kapan menggunakan Penguji CORS
Gunakan untuk memeriksa apakah API publik bisa dipanggil dari aplikasi browser, atau untuk mereproduksi error CORS dengan header tertentu. Origin-nya selalu https://algokit.dev, jadi server yang hanya mengizinkan domain Anda sendiri akan tampak diblokir, dan itu memang benar; uji dari situs Anda sendiri untuk hasil yang persis. Alat ini tidak bisa membedakan kegagalan CORS dari error jaringan atau TLS – browser tidak mengungkapkannya.
Cara kerja Penguji CORS
Alat ini memanggil fetch() dengan mode: "cors" dari origin halaman (https://algokit.dev), persis seperti kode front-end Anda sendiri. Penjelasan preflight mengikuti standar Fetch: metode selain GET/HEAD/POST, Content-Type selain form-urlencoded, multipart/form-data, atau text/plain, atau header kustom apa pun akan memicu preflight OPTIONS. Saat browser memblokir respons, browser melempar TypeError generik dan sengaja menyembunyikan alasannya, sehingga alat ini meminta Anda melihat konsol.
Kasus Penggunaan Umum
- Memeriksa apakah API pihak ketiga mengirim Access-Control-Allow-Origin sebelum diintegrasikan ke SPA.
- Mencari tahu header mana dalam permintaan Anda yang memicu preflight.
- Memverifikasi bahwa credentials: include berfungsi (memerlukan origin spesifik, bukan *).
- Melihat header respons mana yang dibuka ke JavaScript melalui Access-Control-Expose-Headers.
Catatan Keamanan
Permintaan dikirim langsung dari browser Anda ke URL yang Anda masukkan; jika kredensial diaktifkan, cookie Anda untuk situs tersebut juga ikut terkirim.
Pertanyaan Umum
Mengapa curl berhasil tetapi browser gagal?
CORS hanya diberlakukan oleh browser. curl dan server mengabaikannya, sehingga sebuah API bisa berfungsi dari curl tetapi tetap tidak terbaca dari halaman web.
Apa yang memicu preflight?
Metode selain GET, HEAD, atau POST, Content-Type yang tidak sederhana seperti application/json, atau header permintaan kustom apa pun seperti Authorization.
Bisakah Access-Control-Allow-Origin: * dipakai bersama cookie?
Tidak. Dengan kredensial, server harus mengembalikan origin yang persis sama dan mengirim Access-Control-Allow-Credentials: true.