What is the difference between csrf_field and csrf_token?

·

Laravel 7.2 routing with route group auth guard check with prefix

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

 

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.