Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 11227|Отговор: 1

Какво е крос-домейн? Как да решим крос-домейн?

[Копирай линк]
Публикувано в 14.07.2017 г. 18:24:37 ч. | | |
Какво е крос-домейн?
Cross-domain, когато браузърът не може да изпълнява скриптове от други уебсайтове. Тя се дължи на хомологната политика на браузъра, която е ограничение за сигурността, наложено от браузъра върху Javascrip{filter}t.

Т.нар. хомолог означава, че домейн, протокол и порт са еднакви, няма значение дали не разбирате, дайте едно обобщение:

http://www.itsvse.com/index.htmlПозовеhttp://www.itsvse.com/server.PHP(Без крос-домейн)

http://www.itsvse.com/index.htmlCall http://www.456.com/server.php (различен първичен домейн: itsvse/456, cross-domain)

Входът към хиперлинк е видим.ПозовеВходът към хиперлинк е видим.(Поддомейн различен: 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, макар и да сочат към local, също са 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 на бекенда и получава връщаната стойност, след което я връща към index.html, което е прокси шаблон. Това е еквивалентно на заобикаляне на браузъра, така че естествено няма проблем между домейните.

3. Модифициране на заглавието от страна на PHP (метод XHR2)

Добавете следните две изречения към PHP интерфейсния скрипт:
header('Access-Control-Allow-Origin:*'); Позволи достъп от всички източници
header('Access-Control-Allow-Method:POST,GET'); Начини за разрешаване на достъп





Предишен:win10 "php-cgi.exe - FastCGI процесът спира неочаквано" решение
Следващ:Главен специалист по опит на Yali Mini Program: 300 секунди ще ви отведат да видите през големия свят на мини програмите
Публикувано в 15.07.2017 г. 9:00:43 ч. |
CORS (Споделяне на ресурси между различни произходи)
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com