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

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

巴扎黑
巴扎黑オリジナル
2016-11-08 11:56:312267ブラウズ

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");


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