SyntaxHighlighter

2014年2月14日金曜日

CakePHP2のh()の第2引数doubleって何だ?

セキュアなWebアプリを作るべくまい進する昨今。こんにちは。

ってことで、徳丸先生の


を激読みしてます。

htmlspecialcharsの話ももちろんでてきます。

CakePHPはh()っていう便利なメソッドがあって、こいつにはお世話になるでしょう。

でこのh()ですが、ソース見ますと定義は次のようになってるわけです。


1番目は処理対象の文字列と。2番目$double。なんだこれ??3番めは"UTF-8"とか指定するわけですね。徳丸先生も著書の中でcharsetを指定することの重要さを書かれておりました。(私は知らずに第1引数しか使ってませんでしたが、結果的にはCakePHPのcoreの指定でUTF-8になってたので良かった!)

さて、第2引数の$double。これなんだ?ってことでグーグル先生に聞くもなかなかヒットせず…

ソースのコメントやら仕様のページやら見てはたと気づいた!


要するに、>とかを更にエスケープするか、そのままにしとくかってことなのね。
試してないけど間違いない。


ところで、htmlspecialcharsよりhtmlentities のほうがセキュアかしら?よくわからんが後で考えよう。

0 件のコメント:

コメントを投稿