Jak korzystać z kontroli dostępu (Access-Control-Allow-Origin)? Czy to po prostu wchodzi między znacznikami Head html?
Czytałem o Access-Control-Allow-Origin
ponieważ wydaje się skuteczne w zezwalaniu na żądania cross domeny, ponieważ mam dostęp do zewnętrznej strony. Moje pytanie brzmi: jak używać Access-Control-Allow-Origin
, Aby zezwolić na żądania między domenami. I tried this (don ' t laugh) (by the way I want is for a single number, 1 or 0 to be returned)
<html>
<head>
Access-Control-Allow-Origin: *
</head>
<body>
1
</body>
</html>
Jestem blisko? Dzięki za pomoc. Jeśli istnieje łatwiejszy sposób na proste żądanie między domenami, daj mi znać. 2 answers
To jest nagłówek HTTP. Można skonfigurować serwer WWW lub webapp, aby wysłać ten nagłówek idealnie. Być może w htaccess lub PHP.
Alternatywnie możesz użyć
<head>...<meta http-equiv="Access-Control-Allow-Origin" content="*">...</head>
Nie wiem, czy to zadziała. Nie wszystkie nagłówki HTTP można skonfigurować bezpośrednio w HTML.
To działa jako alternatywa dla wielu nagłówków HTTP, ale zobacz komentarz @ EricLaw poniżej. Ten konkretny nagłówek jest inny.
Zastrzeżenie
To odpowiedź jest ściśle o tym, jak ustawić nagłówki. Nie wiem nic o zezwalaniu na żądania cross domain.
Informacje o nagłówkach HTTP
Każde żądanie i odpowiedź mają nagłówki. Przeglądarka wysyła to do serwera www
GET /index.htm HTTP/1.1
Następnie nagłówki
Host: www.example.com
User-Agent: (Browser/OS name and version information)
.. Additional headers indicating supported compression types and content types and other info
Następnie serwer wysyła odpowiedź
Content-type: text/html
Content-length: (number of bytes in file (optional))
Date: (server clock)
Server: (Webserver name and version information)
Dodatkowe nagłówki można skonfigurować na przykład Cache-Control
, wszystko zależy od Twojego języka (PHP, CGI, Java, htaccess) i serwera WWW (Apache, itp.).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:46:51
Istnieją 3 sposoby zezwalania na pochodzenie między domenami (z wyłączeniem jsonp
):
1) Ustaw nagłówek na stronie bezpośrednio za pomocą języka szablonów, takiego jak PHP. Pamiętaj, że nie może być HTML przed nagłówkiem lub zawiedzie.
<?php header("Access-Control-Allow-Origin: http://example.com"); ?>
2) zmodyfikuj plik konfiguracyjny serwera (apache.conf
) i dodaj tę linię. Zauważ, że "*"
reprezentuje allow all. Niektóre systemy mogą również potrzebować zestawu poświadczeń. Na ogół All Access jest Zagrożeniem bezpieczeństwa i należy go unikać:
Header set Access-Control-Allow-Origin "*"
Header set Access-Control-Allow-Credentials true
3) do Zezwalaj na wiele domen na serwerach internetowych Apache Dodaj do pliku konfiguracyjnego
<IfModule mod_headers.c>
SetEnvIf Origin "http(s)?://(www\.)?(example.org|example.com)$" AccessControlAllowOrigin=$0$1
Header add Access-Control-Allow-Origin %{AccessControlAllowOrigin}e env=AccessControlAllowOrigin
Header set Access-Control-Allow-Credentials true
</IfModule>
4) dla rozwoju używaj tylko hack przeglądarki i pozwalają nieograniczoną CORS za pomocą Chrome Allow-Control-Allow-Origin rozszerzenie
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-02-25 07:48:35