Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 5.0-叶片模板错误_Laravel_Blade_Laravel 5 - Fatal编程技术网

Laravel 5.0-叶片模板错误

Laravel 5.0-叶片模板错误,laravel,blade,laravel-5,Laravel,Blade,Laravel 5,只是在玩Laravel5,我在使用刀片模板语法时遇到了困难。看来我所有的特殊角色都被转义了。我的设置有问题吗 为了显示我的设置,我在config/app.php中添加了以下内容: 别名:'Form'=>'illumb\Html\FormFacade','Html'=>'illumb\Html\HtmlFacade' 服务提供商:'illumb\Html\HtmlServiceProvider' 下面是我的刀片视图: @extends('layout') @section('content')

只是在玩Laravel5,我在使用刀片模板语法时遇到了困难。看来我所有的特殊角色都被转义了。我的设置有问题吗

为了显示我的设置,我在
config/app.php
中添加了以下内容:

别名:
'Form'=>'illumb\Html\FormFacade','Html'=>'illumb\Html\HtmlFacade'
服务提供商:
'illumb\Html\HtmlServiceProvider'

下面是我的刀片视图:

@extends('layout')

@section('content')

    {{ Form::open() }}

    {{ Form::close() }}

@stop
以下是浏览器中的输出:

下面是view source的输出:

<!doctype HTML>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <title>My Site</title>
    </head>
    <body>

        <header></header>

        <content>
    &lt;form method=&quot;POST&quot; action=&quot;http://test.app:8000/categories/create&quot; accept-charset=&quot;UTF-8&quot;&gt;&lt;input name=&quot;_token&quot; type=&quot;hidden&quot; value=&quot;m4RdpqdbbqQ2F7iwfDkSDKTzEmaBGNvpJbj5LnqE&quot;&gt;

    &lt;/form&gt;

</content>

    </body>
</html>

我的网站
form method=“POST”action=”http://test.app:8000/categories/create“接受charset=“UTF-8”输入名称=“_token”type=“hidden”value=“m4RdpqdbbqQ2F7iwfDkSDKTzEmaBGNvpJbj5LnqE”
/形式
在中,
{{}
将自动转义。您现在需要使用的是
{!!!!}

{!! Form::open() !!}

{!! Form::close() !!}

有关此更改的更多信息,请访问(感谢@user1960364)。

如果您必须使用旧的(L4.2或更低版本)刀片语法,请在页面底部添加以下行AppServiceProvider@register:

\Blade::setRawTags('{{', '}}');
\Blade::setContentTags('{{{', '}}}');
\Blade::setEscapedContentTags('{{{', '}}}');

这一点不可掉以轻心,可能会使您的应用程序更容易受到XSS攻击,因此请谨慎使用。

非常好,谢谢。。。世界跆拳道联盟!!!为什么泰勒会改变这一点?将尽快接受答案。值得一读:出于安全原因更改了答案。逃跑是更好的练习。默认情况下,可以避免懒惰的程序员犯错误。我不会说这“可能会使您的应用程序更容易受到XSS攻击”。旧语法不比新语法更容易受到XSS攻击。只要记住转义易受攻击变量时使用的符号,新语法或旧语法都会执行相同的操作。