Kenta MURATA
murak****@nifty*****
2003年 8月 17日 (日) 11:04:12 JST
むらけんです. CVS 対応と同じく,Hiki にセキュリティーホールを持ち込みそうに なりましてすみません... In message <m3vfs****@fdiar*****> at Sun, 17 Aug 2003 10:51:02 +0900, Kazuhiko <kazuh****@fdiar*****> wrote: > とあります。むらけんさんの意図どおりに <latex>...</latex> という使い方を > する分には問題ないのですが、上記のようなメソッドが定義されていると、 > > {{latex_system('任意のコマンド')}} > > みたいなことができてしまいます。これは、hiki のように誰でも書けるシステ > ムでは危険です。 > > 現状では、プラグインファイルに定義されているあらゆるメソッドが、プラグイ > ン呼び出しの枠組でアクセスできてしまいますが、例えば「private なメソッド > はプラグインとして呼び出しできない」ような仕様が望ましいのではないかと思 > います。 考えてみればそうなんですよね.実は,Hiki 以前に,tDiary のソー スを初めて見たときから,プラグインのフレームワークには疑問を抱 いていました.私なら Plugin クラスを継承させるぞと. でも,クラス継承を使うと,今度はプラグインを作るのがめんどくさ くなっちゃうので,次のようにすると良いかもしれません. 現在,hook として扱われるプラグインは,add_update_proc 等で Proc を登録するようになっていますが,これを通常のプラグインに も採用してはどうでしょう?例えば define_plugin(:hoge) do |arg1, arg2| ... end のように定義すると, {{hoge:arg1, arg2}} のように呼び出せる.という感じです.この方式だと,[プラグイン 呼出し != メソッド呼び出し] にはならないので,今より安全になる 気がします. # default+latex スタイルは,想定した動きをしてもらえない事が判 # 明したので,今直し中です(ぉ -- 1024D/2A3FDBE6 2001-08-26 Kenta MURATA (muraken) <murak****@nifty*****> Key fingerprint = 622A 61D3 280F 4991 4833 5724 8E2D C5E1 2A3F DBE6