2013-03-28 5 views
6

私はMojoliciousのテンプレートにHTMLを送信しようとしていますが、htmlが途中で安全な文字列に置き換えられていることがわかりました。Mojoliciousが文字エスケープ・スタッシュ・データからどうして守ることができますか?

$self->stash(portalHeaderHtml => "<html>"); 

はソース

テンプレートで

&lt;html&gt; 

次のようになります。

<%= $portalHeaderHtml %> 

はどうやってHTMLを表示するとタグを置き換えないようにそれを言うのですか?

答えて

11

Mojolicious::Guides::Renderingは、文字のエスケープを無効にするために==を使用することを示しています。 アプリケーションに対するXSS攻撃を防ぐために、デフォルトで

追加の等号が 文字<のエスケープを無効にするために使用することができ、>、&、 'と "Perlの表現からの結果では、。

<%== '<p>test</p>' %> 

慎重に進んで

+0

ありがとう、私はそれを見つけることができませんでし – shaneburgess

+0

@shaneburgess:。!。どういたしまして – Zaid

関連する問題