我一直在互联网上搜索这个,但我找不到确切的解决方案。
我认为laravel在数据保存到数据库时已经处理了验证。但是,当我检查数据库上的数据时,我可以看到接受html标签的记录,如<body>
等。当然,我无法在浏览器上显示这些,因为它会破坏我的网站。
以下是我使用Controller控制台上的请求保存数据的方法。
public function submitTask(Request $request)
{
Task::create([
'task_title' => $request->title
]);
}
我的模型名称是Task。
我希望从 XXS和其他sql注入保护我的数据。
我该怎么做?非常感谢。
答案 0 :(得分:2)
这就是它的设计方式。在将数据保存到数据库之前,您不应该转义数据。在那里,它是无害的。一旦输出数据,您就应该逃避数据。作为表示逻辑,这是View的责任,因此,在Laravel中,您可以在Blade中执行。在5.0之前,您必须使用三个大括号{{{ }}}
,但现在它默认在{{ }}
上启用。
您可以阅读有关此here
的更多信息