2006年7月22日

[PHP-users 29854] Re:LDAP認証でWarningをださない方法

こんにちは。

# 「サニタイズ」という言葉に反応しただけで、
# あげあし取りなコメントになってる&過去のやり取りをあまり見ていないので、
# 無視してもらっても構いませんが、

> 2週目ですが、「&」等をパスワードに使っている人がいると、「&」が「&」に
> サニタイズされて認証エラーを起こすという問題に遭遇しました。


「ldapに対する処理部分に対して、*HTMLの*サニタイズを実施したため
エラーになった」
ということですね。

# ldapに対してはldapの仕様に合ったサニタイズが必要ということ。

> サニタイズも使う必要のあるところと無いところを見極める必要があるという
> 教訓になりました。

「どのような入力/出力なのかというのを見極めた上で
その都度適切なサニタイズを実施する必要がある」
というのが正解なのだと思います。

用語「サニタイズ」@鳩丸ぐろっさり (用語集):
http://bakera.jp/hatomaru.aspx/glossary/30b530cb30bf30a430ba

ps.
初めてサニタイズという言葉を知ってからしばらくは、
「サニタイズ=HTMLエンコード」だと思っていた。
本当は、そうではないらしい。
「え、これもサニタイズっていうの?」と驚いたこともある。
サニタイズって奥が深い。。

On Sat, 22 Jul 2006 01:54:53 +0900
"kondo" wrote:

> 近藤です。
>
> 少し前の話で、
> Subject: [PHP-users 29625] Re:LDAP認証でWarningをださない方法
> > 近藤です。
> >
> >> 近藤 様
> >>
> >> あっ! テスト用の手抜きソースですので、その他の問題はご勘弁ください。
> >> ただ、$_POSTを直接使うと、どういう問題があるのですか?
> >
> > ldap_bindで使うぶんには、悪いことが思いつきませんが、
> > DBのSQLにつかったり、HTMLとして表示したりする部分に
> > 悪意の入力値が入ってたセキュリティ上良くないことが起こります。
> > まー、私がえらそうなことはいえませんが、「PHPサイバーテロ技法」という本
> > なんかの読むと、いろいろと注意しないといけないんだなと思いました。
> > その基本としてサニタイズって必要なんだと、感じたわけです。
> > 詳しくは、上記本を読んだり、SQLインジェクション、サニタイズなどで
> > 検索するといいかと...
>
> というのを書いたのですが、認証時のパスワードに関しては、サニタイズすると
> 問題起こることがあることが判明しました。
> というのも、私のところでLDAP認証のプログラムを作って、試運用して
> 2週目ですが、「&」等をパスワードに使っている人がいると、「&」が「&」に
> サニタイズされて認証エラーを起こすという問題に遭遇しました。
> ということで、[PHP-users 29618] のコードでサニタイズしていないのは
> 正解でした。
> (野村さん間違った突っ込み入れて済みませでした。)
>
> サニタイズも使う必要のあるところと無いところを見極める必要があるという
> 教訓になりました。
>
> _______________________________________________
> PHP-users mailing list PHP-users@xxxxx
> http://ns1.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://www.php.gr.jp/php/novice.php3

--
goungoun
http://goungoun.dip.jp/app/

_______________________________________________
PHP-users mailing list PHP-users@xxxxx
http://ns1.php.gr.jp/mailman/listinfo/php-users
PHP初心者のためのページ - 質問する前にはこちらをお読みください
http://www.php.gr.jp/php/novice.php3

投稿者 xml-rpc : 2006年7月22日 13:18
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/39830
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。