[Hiki-dev:01094] 添付画像を直接表示させるパッチ

アーカイブの一覧に戻る

U.Nakamura usa****@garba*****
2005年 12月 29日 (木) 21:03:32 JST


こんにちは、なかむら(う)です。

Hikiに画像を添付すると、表示の際にhiki自体を経由するようにsrc
が指定されるために遅い、ということに対して不満を持っている人
はそれなりにいるんじゃないかと思います。
もちろんこれは不特定の人にアップロードを許しているために無条
件でアップロードされたものをそのまま表示しちゃうとまずい、と
いうセキュリティ上の要件によるわけですが、attach.cgiに適当な
制限をかけて運用している場合はアップロードされたものの安全性
は保証されているわけで、この無駄をなんとかしたいなあ、と思っ
たりもするわけです。

というわけで、私は自宅で運用しているHikiでは適当なパッチを書
いてsrcで直接添付ファイルが指定されるようにしていたのですが、
0.8.5に上げてみたらたまたまそこでコンフリクトが発生したので、
これを機会にパッチを公開してみることにしました。
よろしければ取り込みを検討していただけると幸いです。

hikiconf.rbで @options["attach.cache_url"] を指定した場合のみ、
attach_image_anchorでsrcに画像ファイルが直接指定されるように
なります。
たとえば、Hikiから見て ./cache でキャッシュディレクトリが見え
るようになっている場合は(そんな運用してる人はいないと思います
が)、
  @options["attach.cache_url"] = "./cache/attach"
と指定します。

Index: misc/plugin/attach.rb
===================================================================
RCS file: /cvsroot/hiki/hiki/misc/plugin/attach.rb,v
retrieving revision 1.3
diff -u -1 -p -r1.3 attach.rb
--- misc/plugin/attach.rb       25 Dec 2005 03:55:59 -0000      1.3
+++ misc/plugin/attach.rb       29 Dec 2005 12:02:02 -0000
@@ -75,3 +75,7 @@ def attach_image_anchor(file_name, page
   s << %Q! width="#{image_size[:width]}" height="#{image_size[:height]}"! if image_size
-  s << %Q! src="#{@conf.cgi_name}#{cmdstr('plugin', "plugin=attach_download;p=#{page.escape};file_name=#{file_name.escape}")}">!
+  if****@conf*****['attach.cache_url']
+    s << %Q! src="#{@conf.options['attach.cache_url']}/#{page.escape.escape}/#{file_name.escape}">!
+  else
+    s << %Q! src="#{@conf.cgi_name}#{cmdstr('plugin', "plugin=attach_download;p=#{page.escape};file_name=#{file_name.escape}")}">!
+  end
 end

それでは。
-- 
U.Nakamura <usa****@garba*****>




Hiki-dev メーリングリストの案内
アーカイブの一覧に戻る