User Tools

Site Tools


ja:rule:out:外部へ出力するデータはデフォルトで全て無害化する

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
ja:rule:out:外部へ出力するデータはデフォルトで全て無害化する [2017/06/30 20:21] – [適合コード例(Validation)] yohgakija:rule:out:外部へ出力するデータはデフォルトで全て無害化する [2017/10/25 00:20] (current) – コンテクストの解説追加 yohgaki
Line 27: Line 27:
  
 これらの何れかの手段を出力するデータ**全て**に適用する。 これらの何れかの手段を出力するデータ**全て**に適用する。
 +
 +出力先の無害化は”コンテクスト”によって異る。必ず適切な無害化方法を使用する。
 +
 +例:SQLの出力先コンテクスト
 +
 +  * パラメーター (パラメーター用エスケープまたはパラメーター用プレイスホルダ)
 +  * 識別子 (テーブル名、カラム名など。識別子用エスケープ)
 +  * SQL語句 (DESC、ASCなど。バリデーション)
 +パラメーターには更にコンテクストがある。全てのコンテクストに対して適切な無害化が必要
 +  * LIKEクエリ (LIKE用エスケープ)
 +  * 正規表現 (正規表現用エスケープ)
 +  * バイナリ型 (バイナリ型用エスケープ)
 +  * 配列型 (パラメーター用またはバイナリ型用のエスケープ)
 +  * JSON型 (JSON用エスケープ)
 +  * その他、全てのコンテクストに対して適切な無害化処理
  
 エスケープはコンテクストに合わせて行わなければならない。例えば、SQLインジェクション対策としてエスケープ/エスケープが必要ないAPIを利用しても、LIKEクエリや正規表現をサポートするDBMSの場合、LIKEクエリのエスケープ、正規表現のエスケープが必要となる。 エスケープはコンテクストに合わせて行わなければならない。例えば、SQLインジェクション対策としてエスケープ/エスケープが必要ないAPIを利用しても、LIKEクエリや正規表現をサポートするDBMSの場合、LIKEクエリのエスケープ、正規表現のエスケープが必要となる。
ja/rule/out/外部へ出力するデータはデフォルトで全て無害化する.txt · Last modified: 2017/10/25 00:20 by yohgaki

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki