回答編集履歴

2

chousei

2019/09/30 11:41

投稿

yambejp
yambejp

スコア114968

test CHANGED
@@ -36,7 +36,7 @@
36
36
 
37
37
  $a="1' or '1' = '1";
38
38
 
39
- $sql="";
39
+ $sql="SELECT user_id,password FROM users WHERE user_id=?";
40
40
 
41
41
  ```
42
42
 

1

チョウセイ

2019/09/30 11:41

投稿

yambejp
yambejp

スコア114968

test CHANGED
@@ -11,3 +11,37 @@
11
11
 
12
12
 
13
13
  というSQLを作成することが困難なので、セキュリティはぐっと高まります
14
+
15
+ たとえば
16
+
17
+
18
+
19
+ ```PHP
20
+
21
+ $a="1' or '1' = '1";
22
+
23
+ $sql="SELECT user_id,password FROM users WHERE user_id='$a'";
24
+
25
+ print $sql;
26
+
27
+ //SELECT user_id,password FROM users WHERE user_id='1' or '1' = '1'
28
+
29
+ ```
30
+
31
+
32
+
33
+ これが
34
+
35
+ ````PHP
36
+
37
+ $a="1' or '1' = '1";
38
+
39
+ $sql="";
40
+
41
+ ```
42
+
43
+ としても実行されるのは(イメージとして)
44
+
45
+ SELECT user_id,password FROM users WHERE user_id="1' or '1' = '1"
46
+
47
+ なので、攻撃が無効化されています