水無月ばけらのえび日記

bakera.jp > 水無月ばけらのえび日記 > 2010年のえび日記 > 2010年8月 > 2010年8月9日(月曜日)

2010年8月9日(月曜日)

週刊東洋経済 実践的「哲学」入門

公開: 2010年8月11日14時20分頃

今日発売の「週刊東洋経済 2010年8月14・21日合併特大号 (www.amazon.co.jp)」ですが、特集記事が「混迷する現代社会を生きるビジネスパーソンのための実践的『哲学』入門」となっています。今話題のマイケル・サンデルのインタビューや「これからの「正義」の話をしよう (www.amazon.co.jp)」も取り上げられているのですが、それよりも、その前の「15テーマを政治哲学で徹底解明」という記事が面白かったです。

最初に自分のスタンスを「政治的自由度」「経済的自由度」の2軸でプロットして、15のテーマについて4つの象限それぞれの立場から解説しています。政治的意見の対立を左右の1軸で説明されてもなかなかピンとこなかったのですが、こうやって2軸で説明されると分かりやすいですね。

自分のスタンスもマッピングできますし、最近のオバマ政権や鳩山政権・菅政権のスタンスに興味のある人は読んでみると面白いのではないでしょうか。

関連する話題: / 政治 / 経済

.NET Framework4 / ASP.NET4を導入

公開: 2010年8月11日0時45分頃

URLに%22が含まれると例外が出る問題」を受けて「URLに%22が含まれても何とかする方法」を実装したのですが、これはこれで以下のような問題があります。

というわけでさらにスマートな解決方法を探していたのですが、意外にあっさり見つかりました。

ASP.NET 4 also enables you to configure the characters that are used by the URL character check. When ASP.NET finds an invalid character in the path portion of a URL, it rejects the request and issues an HTTP 400 error. In previous versions of ASP.NET, the URL character checks were limited to a fixed set of characters. In ASP.NET 4, you can customize the set of valid characters using the new requestPathInvalidChars attribute of the httpRuntime configuration element, as shown in the following example:

<httpRuntime requestPathInvalidChars="&lt;,&gt;,*,%,&amp;,:,\,?" />

以上、ASP.NET 4 and Visual Studio 2010 Web Development Overview - Expanding the Range of Allowable URLs より

以前のASP.NETでは、URLに含まれる「不正な文字」をチェックするルールは固定でしたが、ASP.NET4からはカスタマイズできるようになったと。ASP.NET4ではルーティングの設定が可能になったということもあって、このようなカスタマイズができるようにしたのでしょう。

そんなわけで、早速.NET Framework 4 をインストール。IISの設定を変えてASP.NET4を有効にして、web.configに <httpRuntime requestPathInvalidChars=""> を追加してみました。

するとこれがエラーで動かないわけですよ。httpRuntime要素の説明 (msdn.microsoft.com)を見てもそれらしい属性が載っていませんし。本当に使えるのかと疑問に思いつつもさらに調べると、「RequestPathInvalidCharacters プロパティ (msdn.microsoft.com)」というドキュメントがみつかりました。

なんだあるじゃないか……と思いきや、よく見るとrequestPathInvalidCharsではなくrequestPathInvalidCharactersとなっているではありませんか。試しに属性名をrequestPathInvalidCharactersにしてみたところ、あっさり動作しました。さっきのサンプルが間違っていたということになりますね。

まあともあれ動いたのでめでたし、と思ったら、今度は掲示板にタグを含むコメントを投稿することができなくなっていることが判明。「危険な可能性のある Request.Form 値がクライアントから検出されました。」と言われてしまうので、validateRequest=true相当の動作になっているものと思われます。

※validateRequestについては「ASP.NET に XSS?」参照。

ASP.NET4ではこのあたりの動作も変更されているようで、結論としてはrequestValidationMode (msdn.microsoft.com)に2.0などを指定してやれば良いようです。

結局、以下のような記述になりました。

<configuration>
<system.web>
<httpRuntime requestPathInvalidCharacters="" requestValidationMode="2.0" />
</system.web>
</configuration>

ひとまずこれで意図通りの動作になっているようです。

しかし言うまでもありませんが、XSSへの考慮が不十分なシステムでは、この設定は危険なので注意が必要です。逆に言うと、ASP.NET4では、デフォルトである程度のXSSは防いでくれるということでもありますが。

関連する話題: C# / .NET / ASP.NET / IIS / プログラミング / hatomaru.dll

それは「情報」ではない。

公開: 2010年8月9日18時15分頃

ひっそりと読み終わったので。

情報アーキテクチャの世界ではよく知られている有名な本なのですが、実はまだ読んでいなかったので、ひっそりと読みました。2001年に出た本なのでかなり古いのですが、今読んでもそれほど古さを感じません。

※なぜかAmazonでは2007年発売と表記されていますが、どう考えても間違いだと思います。手元のものは2001年発行の初版ですし。ちなみに原著Information Anxiety 2 (www.amazon.co.jp)は2000年に出ています。

情報の整理方法の話はもちろんなのですが、成功より失敗、回答より質問、知らないと認めることの重要性など、普遍的な内容も多く含まれています。オフィスでのモチベーションの話などは、いまだに「あるある」という感じですね。

関連する話題: / Web / IA

最近の日記

関わった本など