###シングルページアプリケーションでのCSRF対策
現在バックエンドにRails、フロントエンドにReactを使用したSPAの作成を行っております。
イニシャルページのみRailsがビューの生成を担当し、その後の通信はXMLHttpRequestを使用して行う設計です。
requestにはjqueryではなく、superagentやfetchを使用しています。
そのRailsにPOSTメソッドを送るとCSRFトークンでエラーになってしまいます。
ネット上で調べたところ、ほとんどの解決策が
ApplicationController
内のprotect_from_forgery
に:null_session
を設定するとのことでしたので、変更をした所確かにPOSTメソッドを送信することができました。
しかし、この方法はCSRFを無効にすることと同じのようですので、セキュリティ面に不安が残っています。ほとんどがapiによる通信の場合でしたら特に気にしなくても良いのでしょうか?
また、サーバーのログを見るとPOSTのアクションがあるとCan't verify CSRF token authenticity.
と表示されていますが無視をしても良いのでしょうか?
もう一点気になることがあります、:null_session
を指定してしまうと、POSTメソッドのアクション内でセッションがnil
になってしまい、current_user
(sessionを使用してログイン状態を判別している)との検証ができなくなってしまうのですが、何か対策はございますでしょうか?
根本的になにか勘違いをしていたら申し訳ありません。

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。