技評の記事「入力バリデーションはセキュリティ対策」に読者を混乱させるとコメントしたら名誉毀損だと恫喝された件

http://gihyo.jp/dev/serial/01/php-security/0045 に率直なコメントを入れてはてブしたところ、著者と思われる人間が絡んできて、自分が言ってもいないことを捏造して非公式RTを繰り返した挙げ句果てには名誉毀損だとか考えがあるなどといった恫喝めいたmentionを送ってきたので記録としてまとめておきます。 関連: バリデーションは仕様を基準にして行う~大垣さんと徳丸の会話~ http://togetter.com/li/231560
5
前へ 1 2 3 ・・ 21 次へ
Ikeda Masakazu @ikepyon

誰もバイナリとテキストをごっちゃにして取り扱えなんて言ってません。テキストデータの場合のみ自動でチェックするということはできると思います RT @yohgaki: 文字エンコーディングのバリデーションは、バイナリもテキストも受け入れるアプリではシステムが勝手にやるような物じゃない

2011-12-19 23:50:02
Yasuo Ohgaki (大垣靖男) @yohgaki

@ikepyon 自動でチェックするには判別しないとならないですよ。どうやって「自動」で判別するのですか?

2011-12-20 07:11:15
Yasuo Ohgaki (大垣靖男) @yohgaki

@ockeghem 特殊な物もあるでしょうけど(ビットパターンのチェックとか)そういう物を除けば、それで十分だと思います。

2011-12-20 07:12:16
Yasuo Ohgaki (大垣靖男) @yohgaki

@ikepyon それとフレームワークを使うのはオプションであって、汎用言語で入力のバリデーションを自動でやるのはどうかと思いますよ。言語設計者ならライブラリやアプリの仕事とするでしょう。SmalltalkやJavaみたいに環境なら別ですけど。

2011-12-20 07:15:08
徳丸 浩 @ockeghem

@yohgaki ということは、仕様書をちゃんと書けば、それに従ってバリデーションすればよいということですね。

2011-12-20 07:53:37
Yasuo Ohgaki (大垣靖男) @yohgaki

@ockeghem ガチガチのウォーターフォール型ならそうですね。でもWebアプリは小規模アジャイル型が多くてプログラマが仕様を決めてるので、仕様をちゃんと作る、はこういう場合あまり役立たないですね。

2011-12-20 08:14:03
Ikeda Masakazu @ikepyon

@yohgaki 何を自動判別する必要があるんですか?データをどう取り扱いたいかを決めるのはアプリを書くプログラマですよ?プログラマがデータをテキストデータとして扱いたいと考えたら、テキストデータでないものは自動ではじけるようにすることはできるのではないですか?

2011-12-20 08:30:19
Ikeda Masakazu @ikepyon

@yohgaki データをすうちとしてあつかうのか、テキストなのか、バイナリなのかを判断するのはプログラマ出会って、言語なんかじゃないです

2011-12-20 08:33:00
Yasuo Ohgaki (大垣靖男) @yohgaki

@ikepyon では、私の考えと何ら変わりがありませんね。

2011-12-20 08:46:51
Yasuo Ohgaki (大垣靖男) @yohgaki

@ikepyon 「自動」ってなに?と言う話なのですか。だとすると「完全自動」はあり得ない。自動で出来る部分はあってもプログラマが理解して明示的にバリデーションする事が必要。(か、Javaみたいに強制させる)

2011-12-20 08:50:47
Yasuo Ohgaki (大垣靖男) @yohgaki

入力バリデーションはプログラマの仕事(設計者の仕事でもあるけど)というのは当たり前すぎるのにどうして異論があるのか不思議でならない。

2011-12-20 09:01:36
Yasuo Ohgaki (大垣靖男) @yohgaki

入力バリデーションセキュリティ対策じゃない、という話には論理的矛盾がある。入力バリデーションはセキュリティ対策であるのに、これに対して異論があるのも理解できない。

2011-12-20 09:03:00
Yasuo Ohgaki (大垣靖男) @yohgaki

それから「コンピュータの計算は不正確」という常識を知らない人が結構いるのも意外。特にfloatなんて有効数字部分が23ビットしかない。有効桁数たったの6桁。これに対する比較が同じにならないからという論理に納得してしまう人が多いのも意外だった。

2011-12-20 09:06:31
徳丸 浩 @ockeghem

@yohgaki 仕様をちゃんと作らない前提で、どうやってバリデーションの仕様を決めるのでしょうか?

2011-12-20 09:48:08
Yasuo Ohgaki (大垣靖男) @yohgaki

アジャイル系Web開発ではプログラマが普通に仕様を決めてますよ。この為、どうバリデーションすべきかは知ってないとならないです。RT @ockeghem 仕様をちゃんと作らない前提で、どうやってバリデーションの仕様を決めるのでしょうか?

2011-12-20 10:32:33
徳丸 浩 @ockeghem

@yohgaki きちんとした仕様書は作らないけど、仕様は明確になっていると言うことですよね。文書化されているかの違いと言うことで

2011-12-20 10:35:19
Yasuo Ohgaki (大垣靖男) @yohgaki

@ockeghem セキュアかどうかは別として仕様は明らかになってないとならないですね。出来れば作る前がよいけど少なくとも作った後では。

2011-12-20 10:37:53
Yasuo Ohgaki (大垣靖男) @yohgaki

@ockeghem 作った後はコードが仕様なので、分かりやすいかどうかは別にして仕様はある状態になりますね。

2011-12-20 10:39:11
水無月ばけら @bakera

[メモ] 軽く2回読んでみたのですが、何を言われているのかよくわかりませんでした。時間があるときにまたゆっくり。 http://t.co/kQcuQZvB

2011-12-20 10:40:39
Ikeda Masakazu @ikepyon

@yohgaki 完全自動化なんて不可能なのはわかりきってます。テキストデータなのに文字エンコーディングがおかしいデータがあるかどうかは自動化出来るでしょ?と言ってるんですが?言語が文字データを取り扱う関数なのに勝手にバイナリデータとして扱うのがおかしいと言ってるんですよ

2011-12-20 11:09:21
Ikeda Masakazu @ikepyon

ですねw RT @tomoki0sanaki: Java とか .NET にすればいいんじゃね!? RT @ikepyon しかし、現行の言語や、フレームワークではそれが実装されてないから、仕方なくプログラマが文字エンコーディングのチェックが必要なのが現状だと思う

2011-12-20 11:09:52
Yasuo Ohgaki (大垣靖男) @yohgaki

@ikepyon 文意が良く理解できなかったのですが「文字エンコーディングのチェックは言語かフレームワークが自動ですべき」つまりプログラマが関与しなくてもチェックできているべき、という考えでは無かったのですか?

2011-12-20 11:32:11
Ikeda Masakazu @ikepyon

@yohgaki テキストデータとしてデータを取り扱う際に文字エンコーディングのバリデーションを言語などでしろというだけです。すべてのデータで自動的にしろなんて考えてません

2011-12-20 13:05:14
Ikeda Masakazu @ikepyon

そういうがあるから現実では難しいですよね。ブラウザが何とかしろと言いたいですが、できないからアプリのプログラマが苦労しないといけないorzRT @s_hskz: レガシーエンコーディングなwebページのform要素からそのエンコにソグワナイ文字?が平気で送られてきますよね。

2011-12-20 13:09:08
前へ 1 2 3 ・・ 21 次へ