采用防止 XSS 过滤后 有可能回复内容过滤后为空进入数据库?

采用防止XSS过滤后 有可能回复内容过滤后为空进入数据库

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
最佳答案

@thirdriver 我觉得将内容过滤后再验证就行了,添加失败的话直接 return redirect()->with('error','内容为空'); ,思路还是重定向到创建的界面。

5年前 评论
讨论数量: 4

我的做法是把ReplyObserver中creating的验证移到ReplyRequest中的withValidator方法中.
public function withValidator($validator)
{
$content = $this->request->get('content');

    $content = clean($content, 'user_topic_body');

    if($content == "")
    {
        $validator->errors()->add( 'content', '回复内容为空!' );
        $this->failedValidation($validator);
    }

    $this->request->set('content', $content);
}
5年前 评论

内容过滤后为空,只能说明当前的回复内容除了 html 的标签以外没其他东西了。

5年前 评论

@zssen 是的 我想问的就是这个问题 这样Request中要求内容不能为空 就成了摆设。目前思路是在Request验证中提前将内容过滤后在验证或者专门写一个过滤的中间件。不知道哪种更为优雅?

5年前 评论

@thirdriver 我觉得将内容过滤后再验证就行了,添加失败的话直接 return redirect()->with('error','内容为空'); ,思路还是重定向到创建的界面。

5年前 评论

我的做法是把ReplyObserver中creating的验证移到ReplyRequest中的withValidator方法中.
public function withValidator($validator)
{
$content = $this->request->get('content');

    $content = clean($content, 'user_topic_body');

    if($content == "")
    {
        $validator->errors()->add( 'content', '回复内容为空!' );
        $this->failedValidation($validator);
    }

    $this->request->set('content', $content);
}
5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!