Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 44999|Απάντηση: 4

[ASP.NET] asp.net Το MVC επιτρέπει σε μία μόνο μέθοδο ελεγκτή να διασχίζει τομείς

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 31/7/2018 10:13:37 π.μ. | | | |
Τι είναι το Cors;

Το CORS είναι ένα πρότυπο του W3C, το οποίο σημαίνει "Κοινή χρήση πόρων μεταξύ προέλευσης".
Επιτρέπει στο πρόγραμμα περιήγησης να κάνει αιτήματα XMLHttpRequest σε διακομιστές μεταξύ προελεύσεων, ξεπερνώντας έτσι τον περιορισμό ότι το AJAX μπορεί να χρησιμοποιηθεί μόνο ομοιογενώς.

1. Εισαγωγή

Το CORS απαιτεί υποστήριξη τόσο από πρόγραμμα περιήγησης όσο και από διακομιστή. Επί του παρόντος, όλα τα προγράμματα περιήγησης υποστηρίζουν αυτήν τη δυνατότητα και το πρόγραμμα περιήγησης IE δεν μπορεί να είναι χαμηλότερο από το IE10.

Ολόκληρη η διαδικασία επικοινωνίας CORS ολοκληρώνεται αυτόματα από το πρόγραμμα περιήγησης και δεν απαιτεί τη συμμετοχή του χρήστη. Για τους προγραμματιστές, η επικοινωνία CORS δεν διαφέρει από την ομόλογη επικοινωνία AJAX και ο κώδικας είναι ακριβώς ο ίδιος. Μόλις το πρόγραμμα περιήγησης διαπιστώσει ότι ένα αίτημα AJAX διασχίζει την πηγή, θα προσθέσει αυτόματα κάποιες πρόσθετες πληροφορίες κεφαλίδας και μερικές φορές ένα ακόμη επιπλέον αίτημα, αλλά ο χρήστης δεν θα το νιώσει.

Επομένως, το κλειδί για την επίτευξη επικοινωνίας CORS είναι ο διακομιστής. Εφόσον ο διακομιστής υλοποιεί τη διεπαφή CORS, μπορεί να επικοινωνεί μεταξύ των πηγών.

Στην πραγματικότητα, τα προγράμματα διακομιστή ιστού (όπως ASP.NET ή PHP κ.λπ.) δεν μπορούν να διακρίνουν και δεν θα διαχειριστούν εάν ένα εισερχόμενο αίτημα Http είναι αίτημα Ajax μεταξύ τομέων.Το CORS έχει σχεδιαστεί για να λύσει αυτό το πρόβλημα και το προσαρμοσμένο πρότυπο CORS του W3C δίνει στα προγράμματα περιήγησης έναν μηχανισμό που επιτρέπει τα αιτήματα μεταξύ τομέων Ajax.

2: Εγγενής κωδικός αιτήματος JS Ajax

Επειδή δεν θέλω να αναφερθώ στο jQuery, συνόψισα τις ακόλουθες μεθόδους με js, ως εξής:

Ο Ajax ζητά δοκιμές διεπαφής και εντοπίζει ένα σφάλμα ως εξής:




Τρία: Ορίστε μια μέθοδο ελεγκτή για να επιτρέψετε τη διατομεακή

Έτσι κι έτσιΌλα επιτρέπονταιΟ ελεγκτής ή η μέθοδος API είναι cross-domain, στο αρχείο web.configsystem.webΔιακομιστήςΚάτω από τον κόμβο προστίθεται η ακόλουθη διαμόρφωση:

Το παραπάνω δεν είναι το αποτέλεσμα που θέλαμε! Εάν θέλουμε να επιτρέψουμε μόνο σε ένα όνομα τομέα να έχει πρόσβαση σε μία από τις διεπαφές μας σε όλους τους τομείς, πρέπει να ορίσουμε ένα χαρακτηριστικό που μοιάζει με αυτό:

Ο κώδικας για τον ορισμό δικαιωμάτων πρόσβασης μεταξύ τομέων είναι αυτή η παράγραφος HttpContext.Response.AppendHeader("Access-Control-Allow-Origin", προέλευση);

Ορίζουμε τα χαρακτηριστικά πάνω από τη μέθοδο ελεγκτή ως εξής:

Ξεκινάμε ξανά το αίτημα Ajax με το αποτέλεσμα όπως φαίνεται παρακάτω:



Οι πόροι διεπαφής API από άλλους ιστότοπούς μας είναι προσβάσιμοι με επιτυχία.

(Τέλος)





Προηγούμενος:Γεια σε όλους{:1_7:}
Επόμενος:Το κείμενο CSS είναι κρυμμένο πέρα από τις δύο μεθόδους
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 17/6/2019 2:23:05 μ.μ. |
Οι μέθοδοι αιτήματος HTTP δεν είναι μόνο GET και POST, αλλά είναι απλώς οι πιο συχνά χρησιμοποιούμενες. Σύμφωνα με RFC2616 πρότυπο (τρέχον HTTP/1.1), υπάρχουν συνήθως 8 μέθοδοι: OPTIONS,, POST, PUT, DELETE, TRACE και CONNECT.

Η μέθοδος αιτήματος OPTIONS έχει δύο κύριες χρήσεις:

1. Λάβετε τη μέθοδο αιτήματος HTTP που υποστηρίζεται από τον διακομιστή. Είναι επίσης μια μέθοδος που χρησιμοποιείται συχνά από χάκερ.

2. Χρησιμοποιείται για τον έλεγχο της απόδοσης του διακομιστή. Για παράδειγμα, όταν το AJAX κάνει ένα αίτημα μεταξύ τομέων, πρέπει να στείλει μια κεφαλίδα HTTP OPTIONS στον πόρο ενός άλλου ονόματος τομέα για να προσδιορίσει εάν το πραγματικό αίτημα είναι ασφαλές.
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 4/11/2019 5:29:52 μ.μ. |
jquery.min.js:2 Cross-Origin Read Blocking (CORB) blocked cross-origin response http://192.168.252.193:2019/home/testμε εφαρμογή τύπου MIME/json. Βλέπωhttps://www.chromestatus.com/feature/5629709824032768για περισσότερες λεπτομέρειες.
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 19/1/2020 3:33:23 μ.μ. |

Δημοσιεύτηκε στις 12/11/2021 3:59:52 μ.μ. |
Καλογραμμένο, μαθημένο
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com