这是否安全?用于Laravel的裸模板
{!! ($user->first_name ? ' value="' . e($user->first_name) . '"' : '') !!}
我转义了我输出的那个,但是我也应该转义选中的那个吗?
谢谢!
SQL注入是一个输入问题,而不是输出问题。转义输出有助于避免XSS问题。在这种情况下,您很好,但只是整理一下您的代码:
<input type="text" name="first_name" value="{{ $user->first_name }}" />
如果first_name为空,value将为空。如果填充了名字,value将是转义后的输出。
编辑
回应评论
整洁的代码。未测试,但只有当$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 }}">