ホームページ  >  記事  >  バックエンド開発  >  php apacheはクロスドメインを実現するためにcorsを使用します

php apacheはクロスドメインを実現するためにcorsを使用します

WBOY
WBOYオリジナル
2016-07-29 08:51:322385ブラウズ

apaceh 設定:

<VirtualHost *:80>
    ServerAdmin xxx@qq.com
    DocumentRoot "C:/htdocs/demo"
    ServerName dev.dd.cn
    ##ErrorLog "logs/dummy-host.localhost-error.log"
    ##CustomLog "logs/dummy-host.localhost-access.log" combined
    <Directory "C:/htdocs/demo">
        #Require all denied
        Header set Access-Control-Allow-Origin *
    </Directory>
</VirtualHost>

PHP ファイル設定:

<?php
     header("Access-Control-Allow-Origin:*"); 
     //处理请求输出数据

?>

この設定の意味は、任意のドメインによって開始されたリクエストが現在のサーバーのデータを取得できるようにすることです。もちろん、これは非常に危険であり、悪意のあるサイトが XSS を通じてサーバーを攻撃する可能性があります。したがって、ターゲットを絞った方法でセキュリティ ソースを制限するために最善を尽くす必要があります。たとえば、次の設定では、ドメイン http://feng.com のみがドメイン間でサーバーの API にアクセスできるようにします。

httpd.conf:

<VirtualHost *:80>
    ServerAdmin xxx@qq.com
    DocumentRoot "C:/htdocs/demo"
    ServerName dev.dd.cn
    ##ErrorLog "logs/dummy-host.localhost-error.log"
    ##CustomLog "logs/dummy-host.localhost-access.log" combined
    <Directory "C:/htdocs/demo">
        #Require all denied
        Header set Access-Control-Allow-Origin http://feng.com
    </Directory>
</VirtualHost>

PHP ファイル内:

header("Access-Control-Allow-Origin:http://feng.com");

上記は、cors を使用した php apache のクロスドメイン実装を、内容の側面も含めて紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。

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