扫码关注官方订阅号
laravel没有这个xss_clean验证,trim也没有哈
走同样的路,发现不同的人生
如果使用Laravel的Blade模板引擎,用户输入的数据在使用变量输出时,必须放在{{ }}内部,Blade模板引擎会通过转义(escape),自动消除XSS的风险,因此,不需要所谓的xss_clean验证;另外,如果你需要对用户输入数据进行trim操作,可以在数据验证之前进行下边这样的操作:
Laravel
Blade
{{ }}
escape
XSS
xss_clean
trim
Input::merge(array_map('trim', Input::all()));
1.如楼上所说,默认情况下,Blade 的 {{ }} 语句已经通过 PHP 的 htmlentities 函数处理以避免 XSS 攻击;2.如果你用到表单,需要在表单内加上{!! csrf_field() !!},会解析成<input type="hidden" name="_token" value="<?php echo csrf_token(); ?>">,而且这是强制的,如果你在Blade的表单内没加上这个字段的话,Laravel会抛出异常的。
htmlentities
{!! csrf_field() !!}
<input type="hidden" name="_token" value="<?php echo csrf_token(); ?>">
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
如果使用
Laravel的Blade模板引擎,用户输入的数据在使用变量输出时,必须放在{{ }}内部,Blade模板引擎会通过转义(escape),自动消除XSS的风险,因此,不需要所谓的xss_clean验证;另外,如果你需要对用户输入数据进行trim操作,可以在数据验证之前进行下边这样的操作:1.如楼上所说,默认情况下,Blade 的
{{ }}语句已经通过 PHP 的htmlentities函数处理以避免 XSS 攻击;2.如果你用到表单,需要在表单内加上
{!! csrf_field() !!},会解析成<input type="hidden" name="_token" value="<?php echo csrf_token(); ?>">,而且这是强制的,如果你在Blade的表单内没加上这个字段的话,Laravel会抛出异常的。