回答編集履歴
1
日本語変なところを修正
test
CHANGED
@@ -22,37 +22,33 @@
|
|
22
22
|
|
23
23
|
|
24
24
|
|
25
|
-
基本的にはHTMLから
|
25
|
+
基本的にはHTMLから送信された情報をそのままデータベースの問い合わせに利用するのは良くありません。
|
26
26
|
|
27
|
-
というのは、どこの誰が使うか
|
27
|
+
というのは、どこの誰がどのように使うかは作った側は基本選べないため、**ユーザからの入力送信内容は一切信用しない**という原則があるからです。
|
28
28
|
|
29
|
-
そのため、よく
|
29
|
+
そのため、よくあるのが、半角英数のみと書いてあるところに日本語を打って送信しようとしたら「不正文字です」とか、10文字と書いてあるところに沢山文字を打ったら「規定文字数超過です」といった
|
30
30
|
|
31
|
-
|
31
|
+
エラーメッセージが表示されますよね?
|
32
32
|
|
33
|
+
これは[「バリデーション(入力値の妥当性検証)」](https://wa3.i-3-i.info/word11610.html)というものになります。
|
34
|
+
|
33
|
-
|
35
|
+
バリデーションはデータベースに情報を格納する際に、意図しない情報を取り込むのを防ぐための第1関門の役割になっています。
|
34
36
|
|
35
37
|
|
36
38
|
|
37
39
|
もちろん、取り込むだけではなく、問い合わせ(要は検索ですね)のときにも、本来、ユーザに提示することを意図しない情報を提示してしまってはいけません。
|
38
40
|
|
39
|
-
|
41
|
+
この対策についてはHTMLではなく、HTMLからの入力情報を受け取るサーバー側のプログラミング言語の役割となります。
|
40
42
|
|
43
|
+
(PHPやJavaなど、耳にされたことはあると思います)
|
41
44
|
|
42
|
-
|
43
|
-
対策についてはHTMLではなく、HTMLからの入力情報を受け取るサーバー側のプログラミング言語の役割となります。
|
44
|
-
|
45
|
-
(PHPやJavaなど、聞いたことはあると思います)
|
46
|
-
|
47
|
-
そのサーバー側のプログラムが、対策を怠っているときに起きるのが
|
45
|
+
そのサーバー側のプログラムが、対策を怠っているときに起きるのが、今回懸念されているSQLインジェクションを含めたそれぞれの脅威となります。
|
48
46
|
|
49
47
|
|
50
48
|
|
51
49
|
チェックリストも含めると、下記が参考になります。
|
52
50
|
|
53
51
|
- [IPA:安全なウェブサイトの作り方](https://www.ipa.go.jp/security/vuln/websecurity.html)
|
54
|
-
|
55
|
-
|
56
52
|
|
57
53
|
|
58
54
|
|