回答編集履歴
2
見直し
answer
CHANGED
@@ -1,6 +1,13 @@
|
|
1
|
+
この回答は、phpからPDO経由で接続する事例になっていますが、
|
2
|
+
他の言語でも同様に扱えるものと思います。
|
3
|
+
|
1
4
|
SQL文を外部からくる文字列変数の連結で作ってはいけません。
|
2
5
|
いくつかの条件が重なるとSQLインジェクションなど脆弱性を引き起こします。
|
3
6
|
|
7
|
+
プリペアドステートメントとプレースホルダによるバインディングを駆使して、
|
8
|
+
文字列内の記号が悪さを引き起こさないよう、
|
9
|
+
言語が備える仕組みを最大限利用するべきです。
|
10
|
+
|
4
11
|
```php
|
5
12
|
// $departure = $_POST['departure']; かなにかだとして
|
6
13
|
if (isset($departure)) { // !empty() でもいいかもしれん
|
1
見直し
answer
CHANGED
@@ -2,7 +2,8 @@
|
|
2
2
|
いくつかの条件が重なるとSQLインジェクションなど脆弱性を引き起こします。
|
3
3
|
|
4
4
|
```php
|
5
|
+
// $departure = $_POST['departure']; かなにかだとして
|
5
|
-
if(isset($departure)) {
|
6
|
+
if (isset($departure)) { // !empty() でもいいかもしれん
|
6
7
|
$stmt = $pdo->prepare('SELECT id FROM plan WHERE departure = :departure');
|
7
8
|
$stmt->bindValue(':departure', $departure, PDO::PARAM_STR);
|
8
9
|
$stmt->execute();
|