回答編集履歴

2

見直し

2020/01/15 06:32

投稿

退会済みユーザー
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

加筆修正

2020/01/15 06:32

投稿

退会済みユーザー
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
+ 検証する処理がないのでこのまま使っちゃダメですからね。