[#49868] Rubyへの要望(願望) — MASAKI Yuhsuke <reasonset@...>

Ruby listの皆様、はじめまして、MASAKI Yuhsukeです。

14 messages 2014/07/12

[#49877] Rubyリファレンス chm版リミックス更新(2014年7月版) — Dice <tetradice@...>

こんにちは。Diceです。

21 messages 2014/07/13
[#49879] Re: Rubyリファレンス chm版リミックス更新(2014年7月版) — Kazuhiro NISHIYAMA <zn@...> 2014/07/13

西山和広です。

[#49890] Re: Rubyリファレンス chm版リミックス更新(2014年7月版) — Dice <tetradice@...> 2014/07/23

西山和広さん

[#49891] Re: Rubyリファレンス chm版リミックス更新(2014年7月版) — Kazuhiro NISHIYAMA <zn@...> 2014/07/24

西山和広です。

[#49893] Re: Rubyリファレンス chm版リミックス更新(2014年7月版) — Dice <tetradice@...> 2014/07/25

Diceです。

[#49894] Re: Rubyリファレンス chm版リミックス更新(2014年7月版) — Dice <tetradice@...> 2014/07/26

Diceです。

[#49895] Re: Rubyリファレンス chm版リミックス更新(2014年7月版) — Kazuhiro NISHIYAMA <zn@...> 2014/07/26

西山和広です。

[#49897] Re: Rubyリファレンス chm版リミックス更新(2014年7月版) — Kazuhiro NISHIYAMA <zn@...> 2014/07/27

西山和広です。

[#49899] Re: Rubyリファレンス chm版リミックス更新(2014年7月版) — Dice <tetradice@...> 2014/07/31

Diceです。

[#49906] Re: Rubyリファレンス chm版リミックス更新(2014年7月版) — Dice <tetradice@...> 2014/08/10

Diceです。

[#49907] Re: Rubyリファレンス chm版リミックス更新(2014年7月版) — Kazuhiro NISHIYAMA <zn@...> 2014/08/11

西山和広です。

[ruby-list:49886] Re: テンプレートシステムを安全に使う

From: "Akinori MUSHA" <knu@...>
Date: 2014-07-16 08:35:35 UTC
List: ruby-list #49886
At Mon, 07 Jul 2014 12:25:55 +0900,
5.5 wrote:
> しかし,テンプレートシステムなので,任意の Ruby コードを書くことができ
> てしまいます。
> 自分だけ,あるいは仲間内でだけ書くならいいですが,匿名参加可能な多人数
> のプロジェクトだと,これって危険ですよね。
>
> どうにか安全にする方法ってあるんでしょうか?
>
> なんというか…たとえばテンプレート中で何をやっても,影響を封じ込める仕
> 組みとか,Haml や Slim のサブセットみたいなものを作って,やれることを
> 制限しちゃうとか。
> いろいろ想像したのですが,自分にできそうなことは思いつきませんでした。

そうした用途には Liquid や Mustache が向いていると思います。

前者は Shopify がASP提供するショッピングカートシステム用に設計されたも
ので、ユーザに十分なデザインの自由を与えつつ、負荷やセキュリティ面でま
ずいことをされないように十分考慮されています。多機能で拡張性も高く、ア
プリケーション固有のニーズやコンテキストに沿ってカスタマイズ可能です。

	http://liquidmarkup.org/

後者は Logic-less templates の名前の通り、YAMLやJSONで表現できるような
データ構造の参照と簡単な真偽判定くらいに機能が限定されています。ミニマ
リスト向け。やっぱりロジックが欲しい、というときはHandlebarsという拡張
を追加する感じ。

	http://mustache.github.io/

どちらもRubyコミュニティから生まれたものですが、他言語による実装も豊富
なので、安心して使えると思います。

--
Akinori MUSHA / https://akinori.org/

In This Thread