新生鳩丸掲示板♯

bakera.jp > 新生鳩丸掲示板♯ > スレッド内全記事表示 (記事 3014 からのスレッド)

スレッド内全記事表示 (記事 3014 からのスレッド)

[3014] Re: 「直しても直しても直らない」

えむけい (2005年6月8日 1時23分)

ブラウザのホゥルの修正も似たような感じですね。

たとえばあえて【謎】Firefoxを例に挙げますが、

http://www.mozilla-japan.org/projects/security/known-vulnerabilities.html

で「javascript:」を検索してみるとなんとなく分かるのではないかと【謎】。

しかも本体はどうにかつぎはぎを繰り返して修正しても拡張機能がちょっと不注意にloadURIを使っただけであっさり再発するとか。

[3015] Re: 「直しても直しても直らない」

ECMAscript準拠なんて飾りです (2005年6月9日 19時7分)

作っている側が全ての実装を把握しきれていないんだから、

使う側がフィルタで完璧に100%除去できるわけがない。

現状のHTML&JavaScriptエンジンと、HTMLは解釈できるが

JavaScriptはエンジンそのものが外されていて根本的に処理

できないHTMLエンジン(ソースプログラムは同一)、という

2つをオプション設定によって使い分けるというアプローチが

最も安全で確実だと思うけど、ブラウザメーカーはなぜそう

いう根本的な対策をしないのか不思議だ。

[3016] Re: 「直しても直しても直らない」

Ruke (2005年6月9日 21時19分)

セキュリティ対策というのはいたちごっこになった時点で絶望的になるというのがセキュリティ技術の基本ですが(無限の市場を意味するために企業はむしろ好みますが)、そういう観点から言ってサニタイジングという行為自体がそもそも誤っているのかもしれません。

この種のサニタイジングフィルタの問題は、データに問題があるという事を判別する事に主眼がおかれている事です。しかし、フィルタを通して出てきた物に確実に問題が含まれていないようにする事は難しいです。あり得るのは、再帰的に問題がなくなるまでフィルタを作用させる事ですが、その動作を正確に把握する事は困難です。それに、そうやって得られた結果が本当に問題を含まないという保証もない。

考えてみれば、問題のないデータをきちんと規定せずに問題のあるデータを完璧に判別する事ができるはずがないわけで、まずは問題のないデータの何たるかをきちんと考えるべきです。そしてそうすれば、問題のあるデータを判定するよりも、問題のないデータを一発で判定するのが素直なアプローチとなるはずです。

つまり、勝手にHTMLのサブセットを作ってDTDを書くなり、付加的なルールを決めるなりして正しいデータを規定し、データを受け取った時にはvalidatorを通して誤っているデータは通さないようにすればよい。

もちろん、特定の仕様に従ってデータを用意する事は一般のユーザには困難ですから、正しいデータの仕様を反映したエディタを用意する事が不可欠ですが。まあ「何をどうしたってvalidなHTMLしか作れないHTMLエディタ」すらほとんど存在していない現状では難しいのでしょうが。

ふと迷い込んで妄想を書いてみました。

最近の日記

関わった本など