Я добился большого успеха в безопасном разрешении CORS, но я пробовал с другой страницей, и она не работает.Я надеюсь, что кто-то может сказать мне, что я скучаю.Я знаю, что * небезопасно, но я пытаюсь это просто исключить имя сайта как переменную.
.htaccess файл
Header add Access-Control-Allow-Origin "*"
Header add Access-Control-Allow-Headers "origin, x-requested-with, content-type"
Header add Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"
и начало моего php-файла:
// Allow from any origin just for testing...
if (isset($_SERVER['HTTP_ORIGIN'])) {
// in production, no *, but using my real domain
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Credentials: true');
header('Access-Control-Max-Age: 86400');
}
// Access-Control headers are received during OPTIONS requests
if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {
if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD']))
header("Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS");
if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']))
header("Access-Control-Allow-Headers: {$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}");
}
При доступе к php-файлу с помощью запроса ajax я получаю: Доступ к XMLHttpRequest по адресу https://sitename.000webhostapp.com/' из источника 'https://samesitename.com' заблокирован политикой CORS: Нет'Заголовок Access-Control-Allow-Origin 'присутствует на запрашиваемом ресурсе.
Работает в Почтальоне.Вот информация заголовка:
Date →Mon, 29 Apr 2019 18:50:03 GMT
Content-Type →text/html; charset=UTF-8
Transfer-Encoding →chunked
Connection →keep-alive
Access-Control-Allow-Origin →*
Access-Control-Allow-Headers →origin, x-requested-with, content-type
Access-Control-Allow-Methods →PUT, GET, POST, DELETE, OPTIONS
Server →awex
X-Xss-Protection →1; mode=block
X-Content-Type-Options →nosniff
X-Request-ID →18341eb6e5c7e5f483d8dd3a3a492b9c
Content-Encoding →gzip
Более того, я размещаю основной сайт на firebase, который не поддерживает PHP, поэтому я поместил php-файлы на 000webhostapp.com в качестве обходного пути.