ci验证规则有xss_clean,laravel似乎没有哈?

clipboard.png
laravel没有这个xss_clean验证,trim也没有哈

阅读 3.8k
2 个回答

如果使用LaravelBlade模板引擎,用户输入的数据在使用变量输出时,必须放在{{ }}内部,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会抛出异常的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题