回答編集履歴
1
追記
answer
CHANGED
|
@@ -2,4 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
上記の条件で使用箇所が条件文内に限定されるのであれば、おかしな値や型もキャストされる前提なので、条件の分岐先が多少おかしくなると思いますが、それほど深刻なセキュリティリスクを抱えるケースは思い浮かびません。
|
|
4
4
|
|
|
5
|
-
どちらかというと、セキュリティポリシーとして「正式なインターフェイス以外からの投稿を許容しない」とか「すべての投稿には意図があり、その意図をバリデーションとして記述する」といったものがあるかどうかに左右されると思います。
|
|
5
|
+
どちらかというと、セキュリティポリシーとして「正式なインターフェイス以外からの投稿を許容しない」とか「すべての投稿には意図があり、その意図をバリデーションとして記述する」といったものがあるかどうかに左右されると思います。
|
|
6
|
+
|
|
7
|
+
**追記**
|
|
8
|
+
バリデーションって、副次的にセキュアなシステムを補助しますが、本質的には「入力値が想定しているものであることの確認」です。
|
|
9
|
+
ですので、セキュリティを担保するには、実際に使用する箇所で値を「セキュアなもの」にして扱う必要があります。
|
|
10
|
+
|
|
11
|
+
例としては
|
|
12
|
+
・XSS 対策として出力時に「htmlspecialchars」でエスケープする
|
|
13
|
+
とか。
|
|
14
|
+
|
|
15
|
+
バリデーション=セキュリティの担保と考えるのは、本質からはちょっとズレています。
|
|
16
|
+
バリデーションの必要性は、「ポリシーとして入力値の想定をどう扱うか」が判断基準となります。
|