Pemeriksa CORS

Semak sama ada respons yang ditampal membenarkan pengepala asal, kaedah dan permintaan penyemak imbas tertentu. Pemeriksa

untuk menyemak
Tampalkan baris status juga apabila menyemak respons pra-penerbangan.
Skim, hos dan port pilihan dihantar dalam pengepala Origin.
Hidupkan untuk permintaan yang menyertakan kuki atau pengesahan HTTP.
Keputusan penyemak imbas

    Medan Kawalan Akses yang dihuraikan

    HTTP status
    Access-Control-Allow-Origin
    Access-Control-Allow-Credentials
    Access-Control-Allow-Methods
    Access-Control-Allow-Headers
    Access-Control-Expose-Headers
    Access-Control-Max-Age

    Masukkan jawapan dan butiran permintaan, kemudian semak dasar CORS.

    Tampalkan respons untuk menyemak dasar CORSnya.

    Pengepala dan butiran permintaan anda kekal dalam penyemak imbas anda. Tiada apa-apa yang dimuat naik atau disimpan oleh BroBroGo.

    Soalan Lazim

    Perlukah saya menampal respons sebenar atau respons sebelum penerbangan?

    Gunakan respons sebenar untuk menyemak sama ada kod penyemak imbas boleh membaca satu respons. Gunakan respons Preflight untuk balasan OPTIONS yang meluluskan kaedah kemudian dan nama pengepala yang diminta.

    Mengapa kad bebas boleh gagal dengan kelayakan?

    Apabila kuki atau pengesahan HTTP disertakan, asal yang dibenarkan mesti sepadan dengan asal yang meminta dengan tepat. Kad bebas untuk kaedah dan pengepala yang dibenarkan juga kehilangan makna kad bebasnya.

    Adakah keputusan lulus membuktikan permintaan langsung akan berfungsi?

    Tidak. Keputusan ini merangkumi hanya respons yang ditampal dan butiran permintaan yang dimasukkan di sini. Ubah hala, respons cache, perubahan peraturan pelayan, sambungan penyemak imbas dan respons sebenar selepas prapenerbangan masih boleh mengubah keputusan. Respons

    Memahami Fungsi Pemeriksa CORS

    Alat Pemeriksa CORS direka khas untuk membantu anda memahami sama ada penyemak imbas web akan membenarkan permintaan silang asal (cross-origin request) yang tertentu. Analisis ini dilakukan berdasarkan pengepala respons HTTP yang anda sediakan serta butiran khusus mengenai permintaan yang ingin dihantar.

    Untuk menggunakan alat ini, anda hanya perlu menampal pengepala respons, menentukan asal (origin), kaedah (method), dan pengepala permintaan yang dirancang, serta menyatakan sama ada bukti kelayakan disertakan dalam permintaan tersebut. Berdasarkan maklumat ini, alat akan menganalisis dan memberitahu anda sama ada penyemak imbas akan membenarkan atau menyekat permintaan tersebut, lengkap dengan penjelasan keputusan berdasarkan dasar CORS yang dikesan.

    Alat ini berfungsi sepenuhnya secara tempatan untuk menganalisis data yang dimasukkan. Ia hanya menyemak pengepala respons dan butiran permintaan yang anda berikan; ia tidak akan menghubungi pelayan, membaca URL, menetapkan kuki, menyemak DNS/TLS, atau mengubah suai konfigurasi pelayan anda.

    Input yang Diperlukan untuk Semakan

    Untuk memulakan semakan, anda perlu menyediakan beberapa input penting melalui antara muka alat:

    • Respons untuk menyemak: Anda boleh memilih sama ada mahu menyemak "Respons sebenar" atau "Respons pra-penerbangan".
    • HTTP pengepala respons: Ruangan input teks untuk menampal pengepala respons HTTP anda. Jika anda menyemak respons pra-penerbangan, anda juga perlu menyertakan baris status HTTP. Input ini dihadkan kepada maksimum 200,000 aksara.
    • Minta asal: Input teks untuk menyatakan skema, hos, dan port pilihan bagi asal permintaan (contoh format: https://app.example.com). Input ini mestilah asal tulen atau null, dan tidak boleh mengandungi laluan URL (path), pertanyaan (query), atau bukti kelayakan.
    • Kaedah yang diminta: Input teks untuk menyatakan kaedah HTTP yang digunakan dalam permintaan.
    • Nama pengepala yang diminta: Input teks untuk menyenaraikan nama pengepala daripada Access-Control-Request-Headers, yang dipisahkan dengan koma atau baris baru (contoh format: Content-Type, Authorization).
    • Sertakan bukti kelayakan: Suatu butang suis (toggle) untuk menandakan sama ada permintaan tersebut menyertakan kuki atau pengesahan HTTP.

    Memahami Keputusan dan Mesej Ralat

    Apabila anda melakukan semakan, alat akan memaparkan status keputusan penyemak imbas serta huraian medan Kawalan Akses yang dikesan.

    Status Keputusan Penyemak Imbas

    • Tampalkan respons untuk menyemak dasar CORSnya. (Paparan awal sebelum sebarang input dimasukkan).
    • Masukkan jawapan dan butiran permintaan, kemudian semak dasar CORS. (Dipaparkan jika anda cuba menyemak tanpa input).
    • Dibenarkan oleh respons CORS yang ditampal.
    • Disekat oleh respons CORS yang ditampal.
    • Pengepala lulus, tetapi status prapenerbangan tidak diketahui.

    Mesej Ralat Input

    Jika terdapat masalah pada data yang anda masukkan, sistem akan memaparkan mesej "Betulkan input yang diserlahkan dan cuba lagi." bersama ralat khusus berikut:

    • Tampalkan pengepala respons HTTP sebelum menyemak. (Jika ruangan pengepala kosong).
    • Respons ini luar biasa besarnya. Simpan di bawah aksara ‹max›. (Jika input melebihi 200,000 aksara).
    • Talian ‹line› bukan pengepala atau baris status HTTP yang sah.
    • Baris ‹line› mengandungi nama pengepala HTTP yang tidak sah.
    • Masukkan asal dengan hanya skema, hos dan port pilihan, seperti https://app.example.com.
    • Masukkan token kaedah HTTP yang sah.
    • Pelayar tidak membenarkan kaedah ‹method› dalam permintaan fetch.
    • "‹header›" bukan nama pengepala permintaan HTTP yang sah.

    Peraturan CORS dan Kes Khas yang Dinilai

    Alat ini menilai input anda berdasarkan peraturan ketat CORS dan mengendalikan beberapa kes khas:

    Pengendalian Bukti Kelayakan (Credentials)

    Apabila bukti kelayakan disertakan (seperti kuki atau pengesahan HTTP), peraturan berikut terpakai:

    • Pengepala Access-Control-Allow-Origin tidak boleh menggunakan kad bebas (*). Jika ia menggunakan *, keputusan akan disekat dengan alasan "Access-Control-Allow-Origin tidak boleh * apabila bukti kelayakan disertakan.".
    • Pengepala Access-Control-Allow-Credentials mestilah bernilai true secara tepat. Jika tiada, ralat "Permintaan yang disahkan memerlukan Access-Control-Allow-Credentials: true." akan dipaparkan.
    • Semua nilai kad bebas (*) untuk kaedah dan pengepala yang dibenarkan akan kehilangan makna kad bebasnya.

    Jika bukti kelayakan tidak disertakan, alat akan memaparkan "Bukti kelayakan tidak disertakan, jadi Access-Control-Allow-Credentials tidak menjejaskan keputusan ini.". Dalam keadaan tanpa bukti kelayakan ini, kad bebas (*) boleh digunakan untuk Access-Control-Allow-Methods dan Access-Control-Allow-Headers (kecuali untuk pengepala Authorization).

    Pengendalian Pengepala Authorization

    Pengepala Authorization adalah kes khas dalam CORS. Ia mesti disenaraikan secara jelas dalam Access-Control-Allow-Headers. Walaupun pelayan menggunakan Access-Control-Allow-Headers: *, ia tetap tidak merangkumi pengepala Authorization. Jika ini berlaku, alat akan menyatakan "Authorization mesti disenaraikan dengan jelas; Access-Control-Allow-Headers: * tidak meliputinya.".

    Status Respons Pra-penerbangan (Preflight)

    Bagi respons pra-penerbangan, status HTTP yang berjaya (kod status 2xx) adalah wajib. Jika anda tidak menampal baris status HTTP, alat akan memaparkan "Tiada baris status HTTP telah ditampal, jadi status prapenerbangan 2xx yang diperlukan tidak boleh disemak." dan statusnya menjadi tidak diketahui (indeterminate). Jika baris status disertakan tetapi bukan dalam lingkungan 2xx, ia akan disekat dengan alasan "Status prapenerbangan ‹status› bukanlah status 2xx yang berjaya.".

    Had Analisis Alat

    Walaupun alat ini sangat membantu untuk menguji konfigurasi, anda harus memahami hadnya. Keputusan lulus yang diberikan oleh alat ini hanya merangkumi respons yang ditampal dan butiran permintaan yang dimasukkan secara manual.

    Analisis ini tidak menjamin permintaan langsung pada aplikasi sebenar akan berjaya. Hal ini kerana alat ini tidak dapat mengambil kira faktor luaran lain seperti proses ubah hala (redirects), respons yang disimpan dalam cache (cached responses), perubahan dinamik pada peraturan pelayan, gangguan daripada sambungan penyemak imbas (browser extensions), atau tingkah laku respons sebenar yang dikembalikan selepas fasa pra-penerbangan selesai.

    Kumpulan Pengguna yang Memerlukan Alat Ini

    Alat Pemeriksa CORS ini direka untuk membantu pelbagai pihak yang terlibat dalam pembangunan web dan pengurusan API, termasuk:

    • Pembangun front-end yang perlu memastikan kod aplikasi mereka yang berjalan di dalam penyemak imbas boleh membaca respons tertentu daripada domain luar.
    • Pembangun back-end yang ingin mengesahkan sama ada pengepala CORS yang dikonfigurasikan pada pelayan mereka sudah betul.
    • Pembangun platform API yang perlu menyediakan akses silang asal yang selamat kepada pengguna API mereka.
    • Pembangun operasi (DevOps/Operations) yang menguruskan konfigurasi pelayan dan penghantaran pengepala HTTP.
    • Sesiapa sahaja yang ingin mengesahkan sama ada balasan permintaan OPTIONS (pra-penerbangan) meluluskan kaedah HTTP dan nama pengepala yang diminta untuk langkah seterusnya.

    Privasi dan Pemprosesan Data

    Kami memahami bahawa pengepala respons dan butiran permintaan anda mungkin mengandungi maklumat sensitif. Oleh itu, alat ini dibina dengan mengutamakan privasi anda.

    Semua pengepala dan butiran permintaan yang anda masukkan kekal sepenuhnya di dalam penyemak imbas anda. Tiada sebarang data yang akan dimuat naik, dihantar, atau disimpan oleh pihak BroBroGo.

    Soalan Lazim (FAQ)

    Perlukah saya menampal respons sebenar atau respons sebelum penerbangan?
    Gunakan respons sebenar untuk menyemak sama ada kod penyemak imbas boleh membaca satu respons. Gunakan respons Preflight untuk balasan OPTIONS yang meluluskan kaedah kemudian dan nama pengepala yang diminta.

    Mengapa kad bebas boleh gagal dengan kelayakan?
    Apabila kuki atau pengesahan HTTP disertakan, asal yang dibenarkan mesti sepadan dengan asal yang meminta dengan tepat. Kad bebas untuk kaedah dan pengepala yang dibenarkan juga kehilangan makna kad bebasnya.

    Adakah keputusan lulus membuktikan permintaan langsung akan berfungsi?
    Tidak. Keputusan ini merangkumi hanya respons yang ditampal dan butiran permintaan yang dimasukkan di sini. Ubah hala, respons cache, perubahan peraturan pelayan, sambungan penyemak imbas dan respons sebenar selepas prapenerbangan masih boleh mengubah keputusan.