teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

chousei

2019/09/30 11:41

投稿

yambejp
yambejp

スコア117923

answer CHANGED
@@ -17,7 +17,7 @@
17
17
  これが
18
18
  ````PHP
19
19
  $a="1' or '1' = '1";
20
- $sql="";
20
+ $sql="SELECT user_id,password FROM users WHERE user_id=?";
21
21
  ```
22
22
  としても実行されるのは(イメージとして)
23
23
  SELECT user_id,password FROM users WHERE user_id="1' or '1' = '1"

1

チョウセイ

2019/09/30 11:41

投稿

yambejp
yambejp

スコア117923

answer CHANGED
@@ -4,4 +4,21 @@
4
4
 
5
5
  > SELECT user_id,password FROM users WHERE user_id='1' or '1' = '1'
6
6
 
7
- というSQLを作成することが困難なので、セキュリティはぐっと高まります
7
+ というSQLを作成することが困難なので、セキュリティはぐっと高まります
8
+ たとえば
9
+
10
+ ```PHP
11
+ $a="1' or '1' = '1";
12
+ $sql="SELECT user_id,password FROM users WHERE user_id='$a'";
13
+ print $sql;
14
+ //SELECT user_id,password FROM users WHERE user_id='1' or '1' = '1'
15
+ ```
16
+
17
+ これが
18
+ ````PHP
19
+ $a="1' or '1' = '1";
20
+ $sql="";
21
+ ```
22
+ としても実行されるのは(イメージとして)
23
+ SELECT user_id,password FROM users WHERE user_id="1' or '1' = '1"
24
+ なので、攻撃が無効化されています