如何确保laravel 5.4中的输入

时间:2017-08-25 11:52:22

标签: php laravel

我一直在互联网上搜索这个,但我找不到确切的解决方案。

我认为laravel在数据保存到数据库时已经处理了验证。但是,当我检查数据库上的数据时,我可以看到接受html标签的记录,如<body>等。当然,我无法在浏览器上显示这些,因为它会破坏我的网站。

以下是我使用Controller控制台上的请求保存数据的方法。

public function  submitTask(Request $request)
{
    Task::create([
     'task_title' => $request->title
    ]);
}

我的模型名称是Task。

我希望从 XXS和其他sql注入保护我的数据。

我该怎么做?非常感谢。

1 个答案:

答案 0 :(得分:2)

这就是它的设计方式。在将数据保存到数据库之前,您不应该转义数据。在那里,它是无害的。一旦输出数据,您就应该逃避数据。作为表示逻辑,这是View的责任,因此,在Laravel中,您可以在Blade中执行。在5.0之前,您必须使用三个大括号{{{ }}},但现在它默认在{{ }}上启用。

您可以阅读有关此here

的更多信息