Hello to all, welcome to therichpost.com. In this post, I will tell you, What is the difference between csrf_field and csrf_token? Laravel is one of the top php mvc framework.
csrf_field builds input field for form .
csrf_token gives token for form ajax request. Both protect our application form
CSRF stands for Cross-Site Request Forgery.
In this case, Laravel is requiring this field to be sent with the request so that it can verify the request is not a forgery when posted back.
1. csrf_token() gives the token.
{{ csrf_token() }} // Outputs: SomeRandomString
Without X-CSRF-TOKEN form will not submit. X-CSRF-TOKEN tells the laravel from where form request comes.
We can use csrf_token() with many ways:
:For Form posting with ajax we will used below script:
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': Laravel.csrfToken
}
});
2. csrf_field() builds the entire input field .
<input type="hidden" name="_token" value="yIcHUzipr2Y2McGE3EUk5JwLOPjxrC3yEBetRtlV">
3. You can easily create a global token field in your layout file:
<input type="hidden" name="_token" id="csrf-token" value="{{ Session::token() }}" />
4.In your form builder you can use direct below code:
{!! Form::token() !!}
5. You can also append csrf_field with jquery:
$('form').append('{{csrf_field()}}');
6. If you use Form::open() it's automatically add csrf field to your form.
There are so many code tricks in laravel and i will let you know all. Please do comment if you any query related to this post. Thank you. Therichpost.com
