Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 44999|Risposta: 4

[ASP.NET] asp.net MVC permette a un singolo metodo controller di attraversare domini

[Copiato link]
Pubblicato su 31/07/2018 10:13:37 | | | |
Cos'è Cors?

CORS è uno standard W3C, che sta per "Cross-origin resource sharing" (condivisione delle risorse tra origini crosate).
Permette al browser di effettuare richieste XMLHttpRequest ai server cross-origin, superando così la limitazione secondo cui AJAX può essere usato solo in modo omogeneo.

1. Introduzione

CORS richiede sia il supporto sia per browser che per server. Attualmente, tutti i browser supportano questa funzione e il browser IE non può essere inferiore a IE10.

L'intero processo di comunicazione CORS viene completato automaticamente dal browser e non richiede la partecipazione dell'utente. Per gli sviluppatori, la comunicazione CORS non è diversa dalla comunicazione omologa AJAX, e il codice è esattamente lo stesso. Una volta che il browser scopre che una richiesta AJAX attraversa la sorgente, aggiungerà automaticamente alcune informazioni aggiuntive sull'intestazione, e a volte una richiesta aggiuntiva, ma l'utente non le percepirà.

Pertanto, la chiave per ottenere la comunicazione CORS è il server. Finché il server implementa l'interfaccia CORS, può comunicare tra le sorgenti.

In effetti, i programmi server web (come ASP.NET o PHP, ecc.) non possono distinguere e non gestiscono se una richiesta Http in ingresso sia una richiesta Ajax cross-domain.CORS è progettato per risolvere questo problema, e lo standard CORS personalizzato W3C offre ai browser un meccanismo per consentire richieste Ajax cross-domain.

2: Codice di richiesta JS Ajax nativo

Dato che non voglio fare riferimento a jQuery, ho incapsulato i seguenti metodi con js, come segue:

Ajax richiede test di interfaccia e trova un errore come segue:




Tre: Imposta un metodo controller per consentire il cross-domain

Così cosìTutti sono ammessiIl metodo controller o API è cross-domain, nel file web.configsystem.webServerLa seguente configurazione viene aggiunta sotto il nodo:

Quanto sopra non è il risultato che volevamo! Se vogliamo permettere solo a un nome di dominio di accedere a una delle nostre interfacce tra domini, dobbiamo definire una caratteristica che assomigli a questa:

Il codice per impostare i permessi di accesso cross-domain è questo paragrafo HttpContext.Response.AppendHeader("Access-Control-Allow-Origin", origin);

Impostiamo le caratteristiche sopra il metodo controller come segue:

Riavviiamo la richiesta Ajax con il risultato mostrato qui sotto:



Le risorse dell'interfaccia API provenienti dagli altri nostri siti web possono essere accessibili con successo.

(Fine)





Precedente:Ciao a tutti{:1_7:}
Prossimo:Il testo CSS è nascosto oltre i due metodi
 Padrone di casa| Pubblicato su 17/06/2019 14:23:05 |
I metodi di richiesta HTTP non sono solo GET e POST, ma sono solo i più comunemente usati. Secondo RFC2616 standard (HTTP/1.1 attuale), di solito ci sono 8 metodi: OPTIONS, POST, PUT, DELETE, TRACE e CONNECT.

Il metodo di richiesta OPTIONS ha due usi principali:

1. Ottenere il metodo di richiesta HTTP supportato dal server; È anche un metodo spesso utilizzato dagli hacker.

2. Usata per controllare le prestazioni del server. Ad esempio, quando AJAX effettua una richiesta cross-domain, deve inviare un'intestazione HTTP OPTIONS alla risorsa di un altro nome di dominio per determinare se la richiesta effettiva è sicura.
 Padrone di casa| Pubblicato su 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/testcon applicazione/json di tipo MIME. Vedihttps://www.chromestatus.com/feature/5629709824032768Per maggiori dettagli.
 Padrone di casa| Pubblicato su 19/01/2020 15:33:23 |

Pubblicato su 12/11/2021 15:59:52 |
Ben scritto, appreso
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com