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*****>