Heim  >  Artikel  >  php教程  >  Serverseitige Cross-Domain-Access-Lösung (CROS).

Serverseitige Cross-Domain-Access-Lösung (CROS).

高洛峰
高洛峰Original
2016-12-14 13:07:402595Durchsuche

通过设置Http Header方式允许跨域名请求

<?php
    header("Access-Control-Allow-Origin: http://www.requesting-page.com");
?>

weitere Details

Browser-(Client-)seitige Codebeispiele:

https://developer.mozilla .org/en-US/docs/Web/HTTP/Access_control_CORS


serverseitige Codebeispiele:

https://developer.mozilla.org/ en-US/docs/Web/HTTP/Server-Side_Access_Control

怎样配置Apache 服务器允许跨域名请求

Wie beheben wir Cross-Domain-Scripting-Probleme?

Das Einfache Die Lösung besteht darin, dem Server, an den die Anfrage gestellt wird, zu erlauben, Serveranfragen an eine beliebige Domäne oder eine Liste von Domänen zu richten. Beachten Sie unbedingt, dass die Änderungen auf dem Server vorgenommen werden müssen, der den Webdienst bereitstellt.

Es gibt mehrere Möglichkeiten, dies zu tun

1.  Sie ändern die Einstellungen in der Datei httpd-vhosts.conf Ihres Apache (ich verwende Apache 2.2)

<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.com
DocumentRoot “C:/apache-tomcat-6.0.29/webapps/myApplication”
ServerName skill-guru.com
ErrorLog “logs/skg1-error.log”
CustomLog “logs/skg1-access.log” common

Header set Access-Control-Allow-Origin “*”
<Directory “C:/apache-tomcat-6.0.29/webapps/myApplication”>
Options -Indexes FollowSymLinks
AllowOverride AuthConfig FileInfo
Order allow,deny
Allow from all
</Directory>
JkUnmount /*.jsp ajp13
</VirtualHost>

Nachdem Sie nun den Wert im Apache-Server festgelegt und sich den Header angesehen haben, wird Folgendes angezeigt:
HTTP/ 1.1 200 OK
Datum: Mo, 01. Dezember 2008 00:23:53 GMT
Server: Apache/2.0.61
Access-Control-Allow-Origin: *
Keep-Alive: timeout= 2, max=100
Verbindung: Keep-Alive
Transfer-Encoding: chunked
Content-Type: application/xml

怎样配置Tomcat 服务器允许跨域名请求


Wenn Sie nicht vorhaben, Apache zu verwenden und aus bestimmten Gründen Tomcat oder einen anderen ähnlichen Web-Container verwenden möchten, der Filter unterstützt, finden Sie hier eine fertige Lösung: Cors Filter

Dies bietet Ihnen einen Servlet-Filter, der mit jedem Java Servlet 2.5+ Webcontainer kompatibel ist.

Die Installation ist sehr einfach. Fügen Sie das Glas zu Ihren Bibliotheken hinzu

In Ihrer web.xml

fügen Sie diese Zeile hinzu

<filter>
<filter-name>CORS</filter-name>
<filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CORS</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn