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

Άποψη: 11227|Απάντηση: 1

Τι είναι το cross-domain; Πώς να λύσετε cross-domain;

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 14/7/2017 6:24:37 μ.μ. | | |
Τι είναι το cross-domain;
Μεταξύ τομέων, όταν το πρόγραμμα περιήγησης δεν μπορεί να εκτελέσει σενάρια από άλλους ιστότοπους. Προκαλείται από την ομόλογη πολιτική του προγράμματος περιήγησης, η οποία είναι ένας περιορισμός ασφαλείας που επιβάλλεται από το πρόγραμμα περιήγησης στο Javascrip{filter}t.

Το λεγόμενο ομόλογο σημαίνει ότι το όνομα τομέα, το πρωτόκολλο και η θύρα είναι όλα ίδια, δεν έχει σημασία αν δεν καταλαβαίνετε, δώστε ένα κάστανο:

http://www.itsvse.com/index.htmlεπικαλούμαιhttp://www.itsvse.com/server.PHP(Μη διατομεακό)

http://www.itsvse.com/index.htmlΠρόσκληση http://www.456.com/server.php (διαφορετικός πρωτεύων τομέας: itsvse/456, διατομεακός)

Η σύνδεση με υπερσύνδεσμο είναι ορατή.επικαλούμαιΗ σύνδεση με υπερσύνδεσμο είναι ορατή.(Διαφορετικός υποτομέας: abc/def, cross-domain)

http://www.itsvse.com:8080/index.html 调用 http://www.itsvse.com:8081/server.php (端口不同:8080/8081,跨域)

http://www.itsvse.com/index.htmlΚλήση https://www.itsvse.com/server.php (διαφορετικά πρωτόκολλα: http/https, cross-domain)

Σημείωση: localhost και 127.0.0.1, ενώ και τα δύο δείχνουν σε τοπικό, είναι επίσης cross-domain.

Όταν ο περιηγητής εκτελεί το σενάριο javascrip{filter}t, θα ελέγξει σε ποια σελίδα ανήκει το σενάριο και αν δεν είναι ομόλογη σελίδα, δεν θα εκτελεστεί.

Λύση:

1, JSONP:

Δεν θα μπω σε λεπτομέρειες σχετικά με τον τρόπο χρήσης του, αλλά πρέπει να σημειωθεί ότι το JSONP υποστηρίζει μόνο αιτήματα GET, όχι αιτήματα POST.

2. Πράκτορας:

Για παράδειγμαwww.itsvse.com/index.htmlΕάν πρέπει να καλέσετε www.456.com/server.php, μπορείτε να γράψετε μια διεπαφήwww.itsvse.com/server.phpΑυτή η διεπαφή καλεί το www.456.com/server.php στο backend και λαμβάνει την τιμή επιστροφής και, στη συνέχεια, την επιστρέφει στο index.html, το οποίο είναι ένα μοτίβο διακομιστή μεσολάβησης. Ισοδυναμεί με παράκαμψη της πλευράς του προγράμματος περιήγησης, επομένως δεν υπάρχει φυσικά πρόβλημα μεταξύ τομέων.

3. Τροποποιήστε την κεφαλίδα στην πλευρά της PHP (μέθοδος XHR2)

Προσθέστε τις ακόλουθες δύο προτάσεις στο σενάριο διεπαφής PHP:
header('Access-Control-Allow-Origin:*'); Να επιτρέπεται η πρόσβαση από όλες τις πηγές
header('Access-Control-Allow-Method:POST,GET'); Τρόποι για να επιτρέψετε την πρόσβαση





Προηγούμενος:win10 Λύση "php-cgi.exe - Η διεργασία FastCGI τερματίζεται απροσδόκητα"
Επόμενος:Chief Experience Officer του Yali Mini Program: 300 δευτερόλεπτα θα σας μεταφέρουν για να δείτε τον μεγάλο κόσμο των μίνι προγραμμάτων
Δημοσιεύτηκε στις 15/7/2017 9:00:43 π.μ. |
CORS (Κοινή χρήση πόρων μεταξύ προελεύσεων)
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com