plugin の仕様について (Re: [Hiki-dev] default+latex スタイル)

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



Hiki-dev メーリングリストの案内
Back to archive index