2012-04-13 6 views
0

Gibt es ein Plugin, mit dem Benutzer eigene Vorlagen erstellen können? So verwende ich smth wieSichere Vorlagen (Ruby on Rails)

Templates.find(5).render(:val1 => val1, :val2 => val2) 

Es gibt eine gute Plugin namens Flüssigkeit aber es scheint nicht sicher (Benutzer kann Datenbank löschen und so weiter) zu sein.

Vielen Dank.

Antwort

4

Flüssigkeit ist ein sehr beliebtes Tempelsystem und gilt als sicher. In der Tat war es eines der Designziele. Aus der Dokumentation der Flüssigkeit:

Liquid ist ein Template-Engine, die mit sehr spezifischen Anforderungen geschrieben wurden:

Es hat schönen und einfachen Markup haben. Template-Engines, die kein gut aussehendes Markup erzeugen, machen keinen Spaß.

Es muss nicht evidierend und sicher sein. Flüssige Vorlagen werden erstellt, damit Benutzer sie bearbeiten können. Sie möchten keinen Code auf Ihrem Server ausführen, den Ihre Benutzer geschrieben haben.

Es muss zustandslos sein. Kompilier- und Renderschritte müssen getrennt sein, damit das teure Parsen und Compilieren einmal und später durchgeführt werden kann. Sie können es einfach rendern, indem Sie einen Hash mit lokalen Variablen und Objekten übergeben.

2

Die Lokomotive CMS verwenden ein Juwel namens Flüssigkeit, die behauptet, das zu tun. Überprüfen Sie es hier http://rubygems.org/gems/liquid.

+0

Ich habe es in meiner Frage erwähnt. :) Aber ist das wirklich sicher? Ich kann jeden Code in der Vorlage ausführen, kann ich nicht? – Ximik