1

このようなユーザーを作成するフォームを作成しようとしています。このフォームは、フォーム モデル バインディングを使用してデータを表示するために使用されます。

{{ Form::open(['url' => 'admin/users/create']) }}

    <div class="form-group">
        {{ Form::label('first_name', 'First Name : ') }}
        {{ Form::text('first_name', null, ['class' => 'form-control']) }}
    </div>

    <div class="form-group">
        {{ Form::label('last_name', 'Last Name : ') }}
        {{ Form::text('last_name', null, ['class' => 'form-control']) }}
    </div>

{{ Form::close() }}

ただし、実際のビューではなくコードを表示しているため、ブラウザに次のコードが表示されます。

<form method="POST" action="http://localhost:8000/admin/users/create" accept-charset="UTF-8">

    <input name="_token" type="hidden" value="X5MA46MJctYOYeMtZF1RoQKYmWDtAbsSoxwoOA8Y">

    <label for="first_name">First Name : </label> 
    <input class="form-control" name="first_name" type="text" id="first_name">

    <label for="last_name">Last Name : </label> 
    <input class="form-control" name="last_name" type="text" id="last_name">

</form>

しかし{!! !!}、開き括弧と閉じ括弧として使用しようとすると、コードが機能し、実際のビューが表示されます。

laravel-collective{{ }}を使用してブラケットとして使用できない理由をまだ理解していません。この プロジェクトが表示されれば、問題なく動作します。

また、 laravel のドキュメントのDisplaying Unescaped Dataセクションで述べたように、XSS 攻撃を恐れています。

注: アプリケーションのユーザーによって提供されたコンテンツをエコーするときは、十分に注意してください。常に二重中括弧構文を使用して、コンテンツ内の HTML エンティティをエスケープします。

これに関する有益な説明はありますか?ありがとうございました

注:Laravelバージョン5.1.40(LTS)を使用しています

4

1 に答える 1