我已经定义了一个名为title
的刀片部分,我使用它,例如,@section('title', 'Log in')
,然后将其打印为<h1>Log in</h1>
。但是在某些页面上,标题将由用户输入(即$subject
)确定。我发现如果我@section('title', $subject->name)
,那么这个值将不会被转义,这会使我的网站对XSS攻击开放。我怎么能避免这个?
答案 0 :(得分:2)
在Laravel中,您可以使用e
辅助函数来转义值。你应该可以这样做:
@section('title', e($subject->name))
如果您查看BladeCompiler
代码,可以看到Laravel本身会将默认转义输出({{ }}
)转换为e(..)