http://memocarilog.info/wordpress/5278
まず思ったこと。
「はてなブックマークのタイトルにスクリプトって入れられるかな。」
はてなを一切使用したことがないので仕様とか知らないんですけどね。
なお参照先のWEB Drawer『JavaScriptを使って、自サイトでの「はてなブックマーク」の人気記事一覧を表示する』でも、無邪気に$().append()で追加してますね。
まあタイトルが長ければ途中で切られてしまうようですし、実質的に意味のあるインジェクションを行うのは難しいでしょうけど、外部からの変数を利用する場合は必ずhtmlspecialchars()を使用しましょう。
JavaScriptであれば、文字列連結ではなくinnerTextなどを使うのが安全でしょう。
まあレスポンスはJSONPなくらいだし、この場合はリンク先を完全に信用するのが前提なのかもしれませんが、だからといって今回は信用できる、こっちは信用できない、なんてやってたら間違いなく事故ります。
外部からの値は常に信用できないものとして取り扱うべきです。
ちなみにリンク先のことくらいであれば、わざわざCURL使わなくても@file_get_contents($url)の一行で終わるのは秘密。
まず思ったこと。
「はてなブックマークのタイトルにスクリプトって入れられるかな。」
はてなを一切使用したことがないので仕様とか知らないんですけどね。
なお参照先のWEB Drawer『JavaScriptを使って、自サイトでの「はてなブックマーク」の人気記事一覧を表示する』でも、無邪気に$().append()で追加してますね。
まあタイトルが長ければ途中で切られてしまうようですし、実質的に意味のあるインジェクションを行うのは難しいでしょうけど、外部からの変数を利用する場合は必ずhtmlspecialchars()を使用しましょう。
JavaScriptであれば、文字列連結ではなくinnerTextなどを使うのが安全でしょう。
まあレスポンスはJSONPなくらいだし、この場合はリンク先を完全に信用するのが前提なのかもしれませんが、だからといって今回は信用できる、こっちは信用できない、なんてやってたら間違いなく事故ります。
外部からの値は常に信用できないものとして取り扱うべきです。
ちなみにリンク先のことくらいであれば、わざわざCURL使わなくても@file_get_contents($url)の一行で終わるのは秘密。
PR
はや!
そして素晴らしい姿勢ですね。