0
在自定義的Twig函數中逃脫XSS的方法是什麼?避免自定義Twig函數中的XSS?
考慮一下:
class TwigExtension extends \Twig_Extension
{
public function getName()
{
return 'html_helpers';
}
public function getFunctions()
{
$options = array(
'is_safe' => array('html')
);
return array(
new \Twig_SimpleFunction('greating', array($this, 'greating'),$options)
);
}
public function greating($name)
{
return "Salut ".$name;
}
}
而且在模板中的呼叫:{{ greating("<script>alert('Sébastien')</script>") }}
它會顯示JS警報。我怎樣才能避免這種情況?
該文檔是不夠的? http://twig.sensiolabs.org/doc/filters/escape.html與'| e'? – fluminis 2014-10-30 14:37:44
@fluminis在樹枝很新。好吧,我可以這樣做'{{greating(「」)| escape}}',但是我怎樣才能將它整合到函數中呢? – sdespont 2014-10-30 14:42:23