Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 44999|Jawab: 4

[ASP.NET] asp.net MVC memungkinkan metode pengontrol tunggal untuk melintasi domain

[Salin tautan]
Diposting pada 31/07/2018 10.13.37 | | | |
Apa itu Cors?

CORS adalah standar W3C, yang merupakan singkatan dari "Berbagi sumber daya lintas asal".
Ini memungkinkan browser untuk membuat permintaan XMLHttpRequest ke server lintas asal, sehingga mengatasi keterbatasan bahwa AJAX hanya dapat digunakan secara homogen.

1. Pendahuluan

CORS membutuhkan dukungan browser dan server. Saat ini, semua browser mendukung fitur ini, dan browser IE tidak boleh lebih rendah dari IE10.

Seluruh proses komunikasi CORS diselesaikan secara otomatis oleh browser dan tidak memerlukan partisipasi pengguna. Bagi pengembang, komunikasi CORS tidak berbeda dengan komunikasi AJAX homolog, dan kodenya persis sama. Setelah browser menemukan bahwa permintaan AJAX melintasi sumber, browser akan secara otomatis menambahkan beberapa informasi header tambahan, dan terkadang satu permintaan tambahan lagi, tetapi pengguna tidak akan merasakannya.

Oleh karena itu, kunci untuk mencapai komunikasi CORS adalah server. Selama server mengimplementasikan antarmuka CORS, server dapat berkomunikasi lintas sumber.

Faktanya, program server web (seperti ASP.NET atau PHP, dll.) tidak dapat membedakan dan tidak akan mengelola apakah permintaan Http yang masuk adalah permintaan Ajax lintas domain.CORS dirancang untuk memecahkan masalah ini, dan standar CORS kustom W3C memberi browser mekanisme untuk memungkinkan permintaan lintas domain Ajax.

2: Kode permintaan JS Ajax asli

Karena saya tidak ingin mereferensikan jQuery, saya merangkum metode berikut dengan js, sebagai berikut:

Ajax meminta pengujian antarmuka dan menemukan kesalahan sebagai berikut:




Tiga: Menetapkan metode pengontrol untuk mengizinkan lintas domain

BegitulahSemua diperbolehkanMetode pengontrol atau API adalah lintas domain, dalam file web.configsistem.webServerKonfigurasi berikut ditambahkan di bawah simpul:

Di atas bukanlah hasil yang kita inginkan! Jika kita hanya ingin mengizinkan nama domain untuk mengakses salah satu antarmuka kita di seluruh domain, kita perlu menentukan fitur yang terlihat seperti ini:

Kode untuk mengatur izin akses lintas domain adalah paragraf ini HttpContext.Response.AppendHeader("Access-Control-Allow-Origin", origin);

Kami mengatur karakteristik di atas metode pengontrol sebagai berikut:

Kami memulai permintaan Ajax lagi dengan hasil seperti yang ditunjukkan di bawah ini:



Sumber daya antarmuka API dari situs web kami yang lain dapat berhasil diakses.

(Akhir)





Mantan:Hai semua{:1_7:}
Depan:Teks CSS disembunyikan di luar dua metode
 Tuan tanah| Diposting pada 17/06/2019 14.23.05 |
Metode permintaan HTTP tidak hanya GET dan POST, tetapi juga yang paling umum digunakan. Menurut standar RFC2616 (HTTP / 1.1 saat ini), biasanya ada 8 metode: OPTIONS,, POST, PUT, DELETE, TRACE, dan CONNECT.

Metode permintaan OPTIONS memiliki dua kegunaan utama:

1. Dapatkan metode permintaan HTTP yang didukung oleh server; Ini juga merupakan metode yang sering digunakan oleh peretas.

2. Digunakan untuk memeriksa kinerja server. Misalnya, ketika AJAX membuat permintaan lintas domain, AJAX perlu mengirim header HTTP OPTIONS ke sumber daya nama domain lain untuk menentukan apakah permintaan sebenarnya aman.
 Tuan tanah| Diposting pada 04/11/2019 17.29.52 |
jquery.min.js:2 Cross-Origin Read Blocking (CORB) blocked cross-origin response http://192.168.252.193:2019/home/testdengan jenis MIME application/json. Lihathttps://www.chromestatus.com/feature/5629709824032768untuk lebih jelasnya.
 Tuan tanah| Diposting pada 19/01/2020 15.33.23 |

Diposting pada 12/11/2021 15.59.52 |
Ditulis dengan baik, dipelajari
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com