Laravel E类功能(ヶ辆)不完全工作,脚本仍然可以执行(仅一次)(Laravel e func

2019-10-20 03:18发布

我试图使用Laravel电子功能,相当于ヶ辆PHP函数。

在我的表单视图和控制器我想保存,使用电子功能,看起来像这样的文件:

表单视图:

{{ Form::text('client_name') }}

控制器:

$client = new Client;
$client->client_name = e(Input::get('client_name'));
$client->save();

说我写了<script type="text/javascript">alert('gotcha!');</script>到CLIENT_NAME领域。 然后,我将它保存到数据库中,但是当它重定向将其保存到数据库后,一次运行该脚本! 也只是为了确保电子功能是正常工作我看着我的数据库,它是如预期:

"&lt;script type=&quot;text/javascript&quot;&gt;alert(&#039;gotcha!&#039;);&lt;/script&gt;"

我的问题是如何才能避免执行的JavaScript alert('gotcha')

还是我把这封功能或ヶ辆在错误的地方发挥作用?

谢谢!

Answer 1:

您正在运行的E()在错误的地方。 逃逸最好保存数据的输出 - 不是输入。

你的控制器应该这样做:

$client = new Client;
$client->client_name = Input::get('client_name');
$client->save();

表单视图都确定了以下 - 因为表“越狱”的自动数据

{{ Form::text('client_name') }}

但是,你创建的客户端,并执行重定向后 - 我敢打赌,地方你这样做

{{ $client->client_name }}

你应该将其更改为这

{{{ $client->client_name }}}

注意第三{} - 它会自动逃跑的数据,你



文章来源: Laravel e function (htmlentities) is not fully working, scripts can still be executed (only once)