

初めての質問です。よろしくお願いします。
今現在、SQLインジェクションというものが問題になっていますよね
いろいろなサイトを回って調べて見たのですが、具体的な対策として、「'(シングルクォーテーション)」などの特殊文字を確実にエスケープすること、くらいしか対策が書かれておりません。
特殊文字のエスケープさえしっかりしておけばSQLインジェクションは発生しない、という印象を受けたのですが、SQLインジェクションがおきてしまったサイトではエスケープ処理をしていなかったということなのでしょうか?
それとも、エスケープ処理をしていても何らかの方法で不正なSQLの命令を実行されてしまうのでしょうか?
どうにもわからなくて困っているので、どうかよろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
がると申します。
> 特殊文字のエスケープさえしっかりしておけばSQLインジェクションは発生しない、という印象を受けたのですが、SQLインジェクションがおきてしまったサイトではエスケープ処理をしていなかったということなのでしょうか?
Yesです。
或いはもうちょっとよくある現場状況としては「エスケープ処理に抜け落ちがあった(ある1項目だけちゃんと出来てなかった、とか)」なんてのもあります。
んと…気にされているのは「エスケープしてなお危ないケースがあるか」というあたりでしょうか?
だとすると、少なくとも私が知っている範囲内では「No」です。
ただ、「すべての項目を」常にちゃんとエスケープする、という部分が案外に破られやすいのですが。
個人的には「SQL文を作成するところはすべて一箇所に集約して漏れないようにする」のが一番よろしかろうと思います。
以上で回答になりますでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
データベースファイル(.db)を開...
-
accsessで顧客コードで氏名を呼...
-
帳票フォームでのあるコンボボ...
-
CSVファイルでテキストの改行の...
-
DocuWorksでの印刷
-
旧filemakerで和暦(令和など)...
-
テキストボックスにコントロー...
-
sqlite(spatialite_gui)での...
-
顧客データベースを作る場合、...
-
汎用カード型のデータベースソ...
-
20万行あるデータを動かしたい
-
はじめてのAccess 2019 について
-
ファイルメーカーへネットワー...
-
警察はスマホに保存した動画や...
-
更新クエリをリンクデータベー...
-
manana というやつで、間違って...
-
データ復旧にかかる時間
-
googleフォームでインストール...
-
最新の日付とその金額をクエリ...
-
エクセルのフィルタ抽出が固まる
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SQL文 複数実行
-
ntext更新時にエラーが出ます
-
LIKE文でエスケープ文字自体を...
-
SQLの代入について
-
SQLローダーCSV取込で、囲み文...
-
単一グループのグループ関数で...
-
Oracleで「文字が無効です」の...
-
テーブルの最後(最新)のレコー...
-
select文の実行結果に空白行を...
-
並べ替えについて
-
group byの並び順を変えるだけ...
-
SELECT FOR UPDATE で該当レコ...
-
データ
-
【PL/SQL】FROM区に変数を使う方法
-
SQL*Loader Append
-
トランザクションログを出力せ...
-
レコードの登録順がおかしい
-
AccessのSQL文で1件のみヒット...
-
where句中のtrim関数について
-
count関数の値をwhere句で使用...
おすすめ情報