質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
セキュリティー

このタグは、コンピューターシステムの安全性やデータの機密性に関連したトピックの為に使われます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

4516閲覧

CSRF対策が必要かどうかの判断につきまして

norisuke2211

総合スコア20

セキュリティー

このタグは、コンピューターシステムの安全性やデータの機密性に関連したトピックの為に使われます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2020/06/09 10:33

編集2020/06/10 01:34

お世話になります。
現在、個人でサービス開発をしております。
実装が落ち着いた為、セキュリティの精査をしている状況なのですが、
CSRF対策について、分かりかねている点がございまして、ご相談させて頂けますと幸いでございます。
まず、CSRF対策が必要なのは「変更や追加が実施される画面やメソッド」or「ログイン・ログアウト処理」という認識で合っておりますでしょうか、、?

<サービス画面例>

例えば、ファッションのECサイト(事業者が服を販売して一般ユーザーが購入する)の 管理画面のような場合、画面毎にCSRF対策が必要かどうかを私の現在の感覚で以下に整理したのですが、先達の皆様からして、ここは対策した方が良い(もしくは不要)という点はございますでしょうか? *不要な情報かもしれませんが言語はPHPでフレームワークはSymfony2系を使っております

<画面例>

  • ログイン/ログアウト:要対策
  • 注文データの変更画面(+変更メソッド):要対策
  • 顧客検索画面(Postでパラメタを送信し、検索結果を一覧表示する):不要(検索のみなので攻撃のインパクトはなし?)
  • 注文CSVダウンロード(getでパラメタを渡して検索結果データをCSVとしてダウンロードする):不要(ユーザのローカルにダウンロードするのみなので影響なし?)
  • 売上集計画面(Postでパラメタ送信し、集計した結果を表示する):不要(検索画面と同様)

<CSRF対策が必要かどうかの検討軸>
また、CSRF対策が必要かどうかを判断する観点を思いつくものをピックアップしたのですが、
こちらも皆様からご覧になって必要ではない観点などございますでしょうか(漏れている観点など)?

  • ログイン/ログアウト処理は対応が必須
  • データの変更や追加、メール送信などが実行される画面やメソッドには基本的に対応が必要
  • データの検索のみ実施している画面、メソッドは対応不要

コードが記載できず大変申し訳ありません。
皆様のお知恵をお借り出来ますと幸いでございます。
宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2020/06/09 11:06

リストにしたいのならコード機能より - 内容 - 内容 とか 0. 内容 0. 内容 とかリスト構造のほうが読みやすいです
norisuke2211

2020/06/10 01:35

ご指摘ありがとうございます、承知致しました!
guest

回答2

0

ベストアンサー

CSRF対策が必要か否かは「セキュリティ専門家」が決めるものではなく、サイト運営者が決めるものです。ただし、明らかに必要なものと、明らかに不要なものはあります。
そういう意味で、

  • ログイン/ログアウト処理は対応が必須 → 必須とまでは言えない(決めてください)
  • データの変更や追加、メール送信などが実行される画面やメソッドには基本的に対応が必要 → その通り
  • データの検索のみ実施している画面、メソッドは対応不要 → その通り

という感じです。

投稿2020/06/09 11:58

ockeghem

総合スコア11705

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

norisuke2211

2020/06/10 01:36

粗い質問に対してご回答頂きありがとうございます! 有り難く存じます。
guest

0

安全なウェブサイトの作り方
体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践 (日本語) 単行本
などを読んで知識や理解を深めましょう、としか言えない。
だって、必要かどうか、レベル感も含めて、そんな質問内容ではなんとも言えないし、
ECサイトを作るのにゼロから手作りせずにやるからなぁ。
(WordPress+EC-CUBEとかさぁ。)

投稿2020/06/09 10:53

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

norisuke2211

2020/06/09 11:13

ご指摘ありがとうございます、仰る通りかと思いましたので、ご教示頂いた本を含め改めて 確認致します。。 ご回答頂きありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問