ホームページ >php教程 >PHP开发 >サーバー側のクロスドメイン アクセス (CROS) ソリューション

サーバー側のクロスドメイン アクセス (CROS) ソリューション

高洛峰
高洛峰オリジナル
2016-12-14 13:07:402611ブラウズ

設置Httpヘッダー方式允许全域名请要求

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

詳細

ブラウザ(クライアント)側のコード例:

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


サーバー側のコード例:

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

怎样構成Apache 服务器允许跨ドメイン名请求

クロスを修正するにはどうすればよいですかドメイン スクリプトの問題 ?

簡単な解決策は、リクエストが行われているサーバーに、任意のドメインまたはドメインのリストへのサーバー リクエストを許可することです。覚えておくべき重要な点は、変更はウェブ サービスを提供しているサーバーで行われるということです。

これを行うには複数の方法があります

1.  Apache の httpd-vhosts.conf ファイルの設定を変更します (私は 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>

Apache サーバーに値を設定してヘッダーを見ると、
HTTP/1.1 200 OK と表示されます
日付: 月曜日01 Dec 2008 00:23:53 GMT
サーバー: Apache/2.0.61
Access-Control-Allow-Origin: *
Keep-Alive: timeout=2, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: application/xml

样構成Tomcat 服务器允许跨域名请求


Apache を使用する予定がなく、何らかの理由で Tomcat またはフィルタをサポートする他の同様の Web コンテナを使用する場合は、こちらをご覧ください。既成のソリューション、Cors Filter

これにより、Java Servlet 2.5 以降の Web コンテナと互換性のあるサーブレット フィルタが提供されます。

インストールは非常に簡単です。 jar をライブラリに追加します

web.xml に次の行を追加します

<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>

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。