ここから本文です

サニタイジングとエスケープ処理の違い

i_n********さん

2010/1/2308:48:45

サニタイジングとエスケープ処理の違い

こんにちは。セキュリティについて初心者のものです。
現在、SQLインジェクションの対策について勉強しているのですが、入力データを置き換える対応として”サニタイジング”と”エスケープ処理”の2つがあります。
教材を読んでもこの2つの違いが良く分かりません。
この2つの違いについて分かる方がいらっしゃいましたら教えていただけますと幸いです。

閲覧数:
13,279
回答数:
3
お礼:
25枚

違反報告

ベストアンサーに選ばれた回答

air********さん

2010/1/2612:45:00

サニタイジングは入力データの無害化です。
入力データによって[Ⅰ]問題有る部分を排除して次の処理をさせたり、
あるいは[Ⅱ]プログラムを停止して最初から入力させる遷移をさせたりすることです。
エスケープ処理は、上記の[Ⅰ]のことを指します。

例として、空港での荷物検査を例に取ります。その場合、
・サニタイジングとは荷物検査をすること
・エスケープ処理は、荷物検査で問題が有る危険物を取り除くこと
となると思います。

■補足1:セキュリティでの用語の意味
サニタイジング:
入力データの無害化。記号、特殊文字をエスケープしたり、もしくはそのような値があるときにプログラムを停止させたりすること。
エスケープ:
サニタイジングするための手段の一つ。
プログラム上使用出来ない記号、特殊文字を適切な文字列に置換する。

■補足2:元々の英語的な意味
サニタイジング=sanitizing=消毒する、無害化する
エスケープ=escape=【動詞】プログラムから一旦抜ける、【名詞】操作取り消し、など

質問した人からのコメント

2010/1/28 23:18:47

感謝 ご丁寧に解説いただきましてありがとうございました。大変分かり易かったです。
今後ともよろしくお願いします。

ベストアンサー以外の回答

1〜2件/2件中

並び替え:回答日時の
新しい順
|古い順

ite********さん

2010/1/2518:58:30

サニタイジングを行う方法の1つがエスケープです。
他にも特殊文字を削除したり別の文字に置き換えたりする方法があります。

通常は特殊文字も使えたほうがユーザーの違和感が少なくなるので、
サニタイジングにはエスケープ処理を使います。

myk********さん

2010/1/2500:27:36

結局は、同じじゃないですかね。sqlインジェクションやxssの対策として取り入れる方法が複数あるというだけでしょうね。フォームに入力されるデータを制限して悪さされない仕組みってかんじですかね・・・多分

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo!知恵袋カテゴリ

一覧を見る

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる