プログラム開発の情報や、雑記を投稿しているサイトです。

CakePHP4 | CORSエラーが発生した場合の対応方法

本記事では、CakePHPにて、CORSエラーが発生した場合の対応方法を説明しています。

今回のCORSエラーでは、下記のエラーを想定しています。

参考サイト

なお、本記事では、下記の記事を参考にまとめています。
大変わかりやすく、きれいにまとまっているので、参照されることをおすすめいたします。

blocked by CORS policyというエラーが出たときの対処方法

https://engineer-ninaritai.com/cakephp-cors/

なんとなく CORS がわかる...はもう終わりにする

また、CORSをよく理解していない場合には、こちらに記事に、CORSとは?という記事でまとめられています。
こちらも、参照されることをおすすめいたします。

https://qiita.com/att55/items/2154a8aad8bf1409db2b

プラグインを利用した対応方法

CORSエラーを解決するには、プラグインを導入することが、いちばん簡単かと思います。

cakephp-cors

導入するプラグインは、こちらのリンクになります。
ドキュメントに記載されている通り、installから、QuickStartまで、とても簡単です。
https://github.com/ozee31/cakephp-cors
ozee31/cakephp-cors: A CakePHP (3.3+) plugin for activate cors domain in your application (github.com)

install

最初に、composerを使用してプラグインをインストールします。

プラグインの有効化

Corsのプラグインを有効にする

src\Application.phpに下記の内容を追加します。

上記の対応後でも、CSRFチェックでエラーになる場合があります。
この代表的な理由は、クライアントとサーバーで、別々のフレームワークを利用する場合などでよくあるエラーです。

このエラー対策方法は、API関連のCSRFチェックを行わない方法が、いちばん簡単かと思います。
その場合、こちらの記事を参考にしていただければと思います。

※CSRFを無効にするリスクを把握したうえで、対応してください

おススメ書籍

中山清喬 (著), 飯田理恵子 (著), 株式会社フレアリンク (監修)


山田 典明 (著), 長澤 賢 (著), 関口 勇樹 (著)