Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 44999|Antwoord: 4

[ASP.NET] asp.net MVC maakt het mogelijk dat één controllermethode domeinen kan overschrijden

[Link kopiëren]
Geplaatst op 31-07-2018 10:13:37 | | | |
Wat is Cors?

CORS is een W3C-standaard, wat staat voor "Cross-origin resource sharing".
Het stelt de browser in staat XMLHttpRequest-verzoeken te doen aan cross-origin servers, waardoor de beperking wordt overwonnen dat AJAX alleen homogeen kan worden gebruikt.

1. Inleiding

CORS vereist zowel ondersteuning voor browsers als servers. Momenteel ondersteunen alle browsers deze functie, en de IE-browser kan niet lager zijn dan IE10.

Het volledige communicatieproces van CORS wordt automatisch door de browser afgerond en vereist geen gebruikersparticipatie. Voor ontwikkelaars verschilt CORS-communicatie niet van homologe AJAX-communicatie, en de code is exact hetzelfde. Zodra de browser ontdekt dat een AJAX-verzoek de bron overschrijdt, voegt hij automatisch extra headerinformatie toe, en soms nog een extra verzoek, maar de gebruiker zal het niet merken.

Daarom is de server de sleutel tot het bereiken van CORS-communicatie. Zolang de server de CORS-interface implementeert, kan hij communiceren tussen bronnen.

Webserverprogramma's (zoals ASP.NET of PHP, enz.) kunnen in feite niet onderscheiden of een inkomend HTTP-verzoek een cross-domain Ajax-verzoek is en beheren ze niet.CORS is ontworpen om dit probleem op te lossen, en de W3C aangepaste CORS-standaard geeft browsers een mechanisme om Ajax cross-domain verzoeken mogelijk te maken.

2: Native JS Ajax-aanvraagcode

Omdat ik jQuery niet wil verwijzen, heb ik de volgende methoden ingekapseld met js, als volgt:

Ajax vraagt interfacetests aan en vindt een fout als volgt:




Drie: Stel een controllermethode in om cross-domain toe te staan

Zo zoIedereen is toegestaanDe controller of API-methode is cross-domain, in het web.config-bestandsystem.webServerDe volgende configuratie wordt toegevoegd onder de node:

Bovenstaande is niet het resultaat dat we wilden! Als we alleen een domeinnaam toegang willen geven tot een van onze interfaces over domeinen heen, moeten we een functie definiëren die er als volgt uitziet:

De code voor het instellen van cross-domain toegangsrechten is deze alinea: HttpContext.Response.AppendHeader ("Access-Control-Allow-Origin", origin);

We zetten de eigenschappen bovenop de regelaarmethode als volgt:

We starten het Ajax-verzoek opnieuw met het resultaat zoals hieronder weergegeven:



API-interfacebronnen van onze andere websites zijn succesvol toegankelijk.

(Einde)





Vorig:Hallo allemaal{:1_7:}
Volgend:CSS-tekst is verborgen voorbij de twee methoden
 Huisbaas| Geplaatst op 17-06-2019 14:23:05 |
HTTP-aanvraagmethoden zijn niet alleen GET en POST, maar zijn ook de meest gebruikte methoden. Volgens RFC2616 standaard (huidig HTTP/1.1) zijn er meestal 8 methoden: OPTIONS,, POST, PUT, DELETE, TRACE en CONNECT.

De OPTIONS-aanvraagmethode heeft twee hoofdtoepassingen:

1. De HTTP-verzoekmethode die door de server wordt ondersteund, ophalen; Het is ook een methode die vaak door hackers wordt gebruikt.

2. Gebruikt om de prestaties van de server te controleren. Bijvoorbeeld, wanneer AJAX een cross-domain verzoek doet, moet het een HTTP OPTIONS-header naar de bron van een andere domeinnaam sturen om te bepalen of het daadwerkelijke verzoek veilig is.
 Huisbaas| Geplaatst op 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/testmet MIME-type applicatie/json. Ziehttps://www.chromestatus.com/feature/5629709824032768Voor meer details.
 Huisbaas| Geplaatst op 19-01-2020 15:33:23 |

Geplaatst op 12-11-2021 15:59:52 |
Goed geschreven, geleerd
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com