新生鳩丸掲示板♯

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

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

[4562] Re: 「入力時に文字参照に変換するのがよろしくない理由」

徳丸浩(ockeghem) (2007年9月3日 1時2分)

私の日記に言及いただいてありがとうございます。何人かの方から、昔はこういうサイト多かったよとか、某巨大SNSサイトも昔はそうだったとか教えていただきました。

文字参照以外にも、SQLエスケープが画面上に表示されるようなサイトも結構ありますね。「'」が「\'」と表示されるような。

高木先生(や私)のイライラはまだまだ続く・・・

[4563] Re: 「入力時に文字参照に変換するのがよろしくない理由」

りゅう (2007年9月3日 13時28分)

文字参照に変換した状態でDBに格納される状況としては次の2つが考えられます。

・モデルのデータ型が「HTML片な文字列」として設計されている

・サニタイズ目的で入力時に文字参照に変換している

前者はちゃんと設計されていれば、規模の大小に関わらず問題は起こりません。ただ、入力はプレーンテキストだけど内部的にはHTMLというパターンは掲示板やチャットのような保存して出力するだけなアプリでしか利点が出てこないので、一般には使われないというだけです。

あと、挙げられている問題はフォーマットを持つテキストを扱う場合に共通の問題なので、規模の大小には関係ないはずです。

問題が出るのは後者のパターンで、変換処理によってデータ型がプレーンテキストではなくなっているにもかかわらずプレーンテキストとして扱い続けるのが原因です。うまく行くのはたまたまプレーンテキストじゃなくても大丈夫な処理だけの場合だけで、問題が出るのは必然といえるでしょう。

[4564] Re: 「入力時に文字参照に変換するのがよろしくない理由」

例えばPHPを避ける (2007年9月3日 13時54分)

>>入力欄に \ を入れて検索すると \\ に化けて、

>「'」が「\'」と表示されるような

PHPをデフォルト設定で使ったときの現象ですね。

最近の日記

関わった本など