人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

サニタイズする項目一覧でわかりやすいのを探しています。
http://d.hatena.ne.jp/cybert/20060831/1157031516
に一覧ありますが、これ以外にもあるのでしょうか?
簡潔かつ適度に詳しいページを探しています。

●質問者: isogaya
●カテゴリ:コンピュータ インターネット
✍キーワード:サニタイズ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● y-kawaz
●35ポイント

質問者の中でサニタイズという言葉が一人歩きしていると思います。闇雲にサニタイズと言って、これをやっておけば大丈夫!みたいなのは一番困ります。

普通、そのデータが使われる場所も考えずに入力データに対して一括で変な処理を行うべきではないからです。


基本的にやるべきことは以下を常に心がけるだけです。

・出力部分で適切にエスケープ(urlencode、htmlspecialchars)する

・入力値を直接SQLに使わない→出来るだけプレースホルダを使う

・入力値を直接system関数などに使わない→必ずエスケープ(escapeshellarg)する。

・入力値をevalしない。


以下のURLで語られている高木さんの記事に関する話を上位だけでも読んでみてください。

サニタイズ言うな - Google検索


2 ● pahoo
●35ポイント

サニタイズ(sanitize)とは「消毒する」という意味です。

ソフトウェア開発においては、入力されたデータに“毒”があるという前提で、データを移動/出力する際に“消毒”する手法を指します。したがって、ブラックボックステストにおけるすべての「悪意のあるテストケース」を通さないような仕組みを実装しなければなりません。


ところが、これが簡単なことではありません。

おそらく「簡潔かつ適度に詳しいページ」は存在しないでしょう。もし、そういうページが見つかったとしても、それに頼ってサニタイズ処理することはお勧めできません。

なぜなら、アタッカーもそのページを見ており、その裏をかくような攻撃を仕掛けてくるからです。


質問の主旨から外れるようで申し訳ありませんが、むしろ入力時のバリデーション処理に注力した方がよいと思います。バリデーションの方が機能が少なくてすみます。

Struts2のValidation」が基本要件を網羅しています。


参考サイト

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ