水掛けているし、落下させている。ここまで落ちぶれていたとは。2003.01.24)本連載の読者であれば、インターネットからダウンロードされたコードには大幅に低い権限しか与えられていないことを知っているだろう。かかわらず、このコードはきちんと実行でき、Boot.iniの内容は読み取られてしまう。StreamReaderクラスのReadメソッドは、そのストリームの元になっているリソース(ファイルやデータベースなど)へのアクセス許可はチェックしていないからだ。アクセス許可を持っているApp.exeがファイルを開いているので、その時点でアクセス許可のチェックは成功する。その後はチェックされないので、C:\Boot.iniファイルに対してアクセス許可のないアセンブリ(プラグイン)であっても、そのファイルの内容を読むことができてしまうのだ。これでは明らかにマズい。(中略)ここでInheritanceDemandの出番となる。(中略)具体的には、次の属性をIPlugInクラスに設定するだけでよい*1。プログラマが設定しなければならない、と。いえども、あくまでコードをきちんと書かないといけないということでいいのかな。できます」とか言うトコロも出てくるのかな。インストールする方法が判明したが、インストールできただけではダメな模様。