Laravel Blade 模板中的 XSS 这条线是安全的吗
Is this line safe from XSS in Laravel Blade templates
这样安全吗?
用于 Laravel
的 balde 模板
{!! ($user->first_name ? ' value="' . e($user->first_name) . '"' : '') !!}
我对输出的进行了转义,但检查的是否也要进行转义?
谢谢!
SQL注入是输入问题,不是输出问题。转义输出是为了帮助避免 XSS 问题。在这种情况下,你很好,但只是稍微整理一下你的代码:
<input type="text" name="first_name" value="{{ $user->first_name }}" />
如果first_name为空,值将为空。如果填写名字,值将是转义输出。
编辑
回复评论
整洁的代码。未经测试,但只有当 $user
不是对象(或 $user->first_name
是无法隐式转换为字符串的值,如数组)时才会出错。
<input class="form-control width-50" required type="text" name="first_name" value="{{ !is_null(old('first_name')) ? old('first_name') : $user->first_name }}">
这样安全吗? 用于 Laravel
的 balde 模板{!! ($user->first_name ? ' value="' . e($user->first_name) . '"' : '') !!}
我对输出的进行了转义,但检查的是否也要进行转义?
谢谢!
SQL注入是输入问题,不是输出问题。转义输出是为了帮助避免 XSS 问题。在这种情况下,你很好,但只是稍微整理一下你的代码:
<input type="text" name="first_name" value="{{ $user->first_name }}" />
如果first_name为空,值将为空。如果填写名字,值将是转义输出。
编辑
回复评论
整洁的代码。未经测试,但只有当 $user
不是对象(或 $user->first_name
是无法隐式转换为字符串的值,如数组)时才会出错。
<input class="form-control width-50" required type="text" name="first_name" value="{{ !is_null(old('first_name')) ? old('first_name') : $user->first_name }}">