Document
やさしい解説ページ
この教材で出てくる基本的なセキュリティ考え方を、初心者向けに短くまとめたページです。
このページは、各ステージで繰り返し出てくる考え方を、やさしく説明するためのページです。
クライアントを信用しすぎない
ブラウザで持っている値は、利用者が変えられる可能性があります。
そのため、サーバーは受け取った値をそのまま採用せず、自分で確認する必要があります。
関連ステージ:
認証と認可は別
認証は「誰なのか」を確かめることです。
認可は「その人がその操作をしてよいか」を確かめることです。
ログインしていても、他人のデータや管理機能を触ってよいとは限りません。
関連ステージ:
画面を隠しても守れない
ボタンを隠しただけでは、URL や API を直接呼ばれたときに防げません。
本当に重要なのは、サーバー側で拒否することです。
関連ステージ:
出力も安全にしないといけない
入力値に問題がなさそうに見えても、表示する方法が危険だと問題になります。
保存時だけでなく、表示時も安全であることが必要です。
関連ステージ:
ログイン済みでも状態変更は保護が必要
Cookie ベース認証では、本人のつもりでない送信でも Cookie が付くことがあります。
そのため、状態変更処理には追加の保護が必要です。
関連ステージ:
返さないことも防御
フロントで表示していなくても、API で返していれば取得できます。
必要な項目だけ返すことが大切です。
関連ステージ: