回答編集履歴
2
見直し
test
CHANGED
@@ -18,15 +18,19 @@
|
|
18
18
|
|
19
19
|
`echo htmlspecialchars($_POST['company']`などと
|
20
20
|
|
21
|
-
**フォーム受信データをエスケープ
|
21
|
+
**フォーム受信データを(エスケープ処理したとしても)そのまま表示するのはやめるべき**で、
|
22
22
|
|
23
23
|
エスケープするから平気っていう話じゃないです。
|
24
24
|
|
25
|
+
通常は、
|
26
|
+
|
25
|
-
|
27
|
+
汚染されているかもしれないフォーム受信データから、
|
26
28
|
|
27
29
|
不適切な文字列(やバイトデータ)が含まれていないかを
|
28
30
|
|
29
31
|
フィルター(最低でもfilter_input())かけて変数に代入し、
|
32
|
+
|
33
|
+
`$company = filter_input(INPUT_POST, 'company');`
|
30
34
|
|
31
35
|
さらに不適切な文字列が含まれていないか検証アルゴリズムを敷いて
|
32
36
|
|
@@ -52,9 +56,13 @@
|
|
52
56
|
|
53
57
|
|
54
58
|
|
55
|
-
あと、一度でも設置されたフォームにアクセスすると
|
59
|
+
あと、一度でも設置されたフォームにアクセスすると
|
60
|
+
|
61
|
+
フォームの構造(phpファイル名、フォームのnameなど)がわかってしまうため、
|
56
62
|
|
57
63
|
完了ページのphpを直にBOTプログラムなどから叩くことができてしまいます。
|
64
|
+
|
65
|
+
**自前フォームからの入力のみを許可する仕組みに変えていかないといけない**のです。
|
58
66
|
|
59
67
|
(全然改良されていないけど、もしも)せっかく確認ページで検証したところで、
|
60
68
|
|
1
加筆修正
test
CHANGED
@@ -9,6 +9,8 @@
|
|
9
9
|
**$companyや$addressなどの変数は、どこで定義されていますか?**
|
10
10
|
|
11
11
|
誰も値を詰めていない、未定義の変数を参照しても、カラです。
|
12
|
+
|
13
|
+
ちゃんと動作確認、自分でやれてますか?
|
12
14
|
|
13
15
|
|
14
16
|
|