2014-02-18 17 views
1

我想用枝條顯示HTML。在枝條的img字段中刪除onerror標籤

今天,我不喜歡這樣寫道:

{{ content | raw }} 

但是,如果我的內容包含此行:

<img src=# onerror=alert(1) /> 

顯示警報。

如果我使用:

{{ content | escape }} 

它不工作。

你知道我能解決這個安全問題嗎?

+0

你寫了兩次'{{content |原}},這是正確的嗎? – j0k

+0

ARGH,固定。謝謝;) – nicosomb

+0

已經試過了['escape' filter](http://twig.sensiolabs.org/doc/tags/filter.html)? – j0k

回答

0

它按預期工作,圖像404和錯誤。

+0

「圖像404和錯誤」?你能解釋一下嗎? – nicosomb

+0

您已將圖像的src設置爲哈希,因爲它不是有效的URI,所以無法加載。然後會導致一個404,然後觸發一個DOM錯誤事件觸發顯示警報的圖像。 – Phunky

+0

原始過濾器允許您將未過濾的內容返回到屏幕,因爲轉義過濾器將阻止您將HTML直接輸出到屏幕。 您需要先清理您的內容,然後再將其輸出到scre – Phunky

相關問題