回答編集履歴
1
指がすべって途中で完了したので、修正しました。
answer
CHANGED
@@ -1,3 +1,14 @@
|
|
1
|
-
セキュリティ上 バインドメカニズム,プレースホルダーが有用といきなり言われてもと感じている場合だけ参考に
|
1
|
+
セキュリティ上 バインドメカニズム,プレースホルダーが有用といきなり言われてもと感じている場合だけ参考にしてください。
|
2
|
+
たとえば
|
3
|
+
SELECT カラム,... FROM テーブル名 WHERE カラム=' (ユーザ入力値)';
|
2
|
-
してください。
|
4
|
+
を実行するシステムを想像してください。
|
5
|
+
ここで、(ユーザ入力値)を悪意をなして、「1';DROP TABLE テーブル名; SELECT '」
|
6
|
+
を入力したとします。
|
7
|
+
そうすると、もしも、入力値を何もチェックしていないと、
|
3
|
-
SELECT カラム FROM テーブル名
|
8
|
+
SELECT カラム,... FROM テーブル名 WHERE カラム='1’;
|
9
|
+
DROP TABLE テーブル名;
|
10
|
+
SELECT '’;
|
11
|
+
の3個のSQLをが実行されてしまします。
|
12
|
+
そういう意味で、自動的に複数のSQLになったりすることを防止するメカニズムが
|
13
|
+
プログラムの記述いかんにかかわらず行われる副作用が、バインドメカニズムやプレースホルダや
|
14
|
+
に組み込まれているので、より安全性が高いと言うことができます。
|