サニタイズ言うなってそういうことか

サニタイズ言うなって何度も目にしてたけど、何もしなかったら危ないのにどゆこと?と思っていたら、そういう意味だったのね。

高木浩光@自宅の日記 - WASF Times版「サニタイズ言うな!」

汚れたデータに対して、適切なタイミングで適切な処理を適切に施すのがサニタイズだと思っていたんだけど、サニタイズとは入力されたデータをとにかく消毒することだったのか。


と思っていたら

まだわかっていない > 「汚れたデータに対して適切なタイミングで適切な処理を適切に施す」 < かねてよりの自分の理解は正しく単に用語定義の問題と矮小化して誤読することにより己の無理解に安住する事例。

はてブで高木さん本人にツッコミを入れられてしまったので、読みなおしてみたら

サニタイズ脳の恐怖

私は昨年から、「サニタイズ」という言葉を使うのはもうやめようと主張しています。入力での処置を連想させるからです。すると、出力部分で適切にコーディングすることを指して「それをサニタイズと言うのだと思っていました」と言う人が出てきました。そこまで「サニタイズ」の語義を広げるなら、もはや「サニタイズ」という言葉は、「セキュリティをちゃんとする」という程度の意味しかありません。それなら「サニタイズ」という言葉を使う必要がありません。「セキュリティをちゃんとする」と言えばよいのです。

まさしく「それなんて俺?」

それで、

詳細は「サニタイズ言うな」で検索して熟知すべし

ということなので、元記事と検索して上から5つくらいのエントリを読んでみたところ、「サニタイズ言うな」が意味するところは

  • サニタイズ」という言葉の指す意味が広がりすぎ→サニタイズという言葉は無意味
  • 入力を消毒すればいい、みたいな誤解を招きがち
  • そもそも、「サニタイズ」と言われている処理は、別段名前をつけるようなものではなく、個々の処理(SQLクエリの生成とかHTML出力)の際に当然行われるべきこと

ということでいいのかな。