ホームページ >バックエンド開発 >PHPチュートリアル >php apacheはクロスドメインを実現するためにcorsを使用します
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");