回答編集履歴
2
見直し
test
CHANGED
@@ -2,13 +2,17 @@
|
|
2
2
|
|
3
3
|
```php
|
4
4
|
|
5
|
-
if ( (isset($_POST["go"])) && (isset($_POST['name'])) && (isset($_POST['email'])) && (isset($_POST['password']))) {
|
5
|
+
if ( (isset($_POST["go"])) && (isset($_POST['name'])) && (isset($_POST['email'])) && (isset($_POST['password'])) ) {
|
6
6
|
|
7
7
|
$name = $_POST['name'];
|
8
8
|
|
9
9
|
$email = $_POST['email'];
|
10
10
|
|
11
11
|
$password = password_hash($_POST['password'], PASSWORD_DEFAULT);
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
// この辺に、$nameや$emailや$passwordに使っちゃいけない文字がないかなど検証する処理を置くこと。
|
12
16
|
|
13
17
|
|
14
18
|
|
1
加筆修正
test
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
```php
|
4
4
|
|
5
|
-
if (isset($_POST["go"])) {
|
5
|
+
if ( (isset($_POST["go"])) && (isset($_POST['name'])) && (isset($_POST['email'])) && (isset($_POST['password']))) {
|
6
6
|
|
7
7
|
$name = $_POST['name'];
|
8
8
|
|
@@ -24,7 +24,7 @@
|
|
24
24
|
|
25
25
|
exit;
|
26
26
|
|
27
|
-
}else{
|
27
|
+
} else {
|
28
28
|
|
29
29
|
echo "エラーが発生しました。";
|
30
30
|
|
@@ -35,3 +35,15 @@
|
|
35
35
|
}
|
36
36
|
|
37
37
|
```
|
38
|
+
|
39
|
+
SQL文を変数の連結や変数展開でやらず、
|
40
|
+
|
41
|
+
mysqliに備わっているバインドパラメータの仕組みを使いましょう。
|
42
|
+
|
43
|
+
SQLインジェクション対策になります。
|
44
|
+
|
45
|
+
|
46
|
+
|
47
|
+
ところで、`$_POST['name']`や`$_POST['email']`や`$_POST['password']`の内容は
|
48
|
+
|
49
|
+
検証する処理がないのでこのまま使っちゃダメですからね。
|