fbpx

Protección CSRF en Laravel

By 30 septiembre 2020Desarrollo web, Laravel
Protección CSRF de Laravel | XperimentalHamid


Laravel facilita la protección de su aplicación de los ataques de falsificación de solicitudes entre sitios (CSRF).

Las falsificaciones de solicitudes entre sitios son un tipo de exploit malicioso mediante el cual se ejecutan comandos no autorizados en nombre de un usuario autenticado.

Lo que hace Laravel es generar automáticamente un «token» CSRF para cada sesión de usuario activa, manejada por la aplicación.

Este token es usado para verificar que el usuario autenticado es quien en realidad está haciendo la petición a la aplicación.

En cualquier momento que definas un formulario HTML en tu aplicación, debes incluir un campo de token CSRF en el formulario con el propósito de que el middleware para protección CSRF pueda validar la solicitud.

Puedes usar la directiva de Blade @csrf para generar el campo de token:PHP

123456 <form method=»POST» action=»/profile»>    @csrf    …</form> 

El middleware VerifyCsrfToken, el cual es incluido en el grupo de middleware web, verificará automáticamente que el token en el campo de la solicitud coincida con el almacenado en la sesión.


Tokens CSRF y JavaScript

Al crear aplicaciones basadas en JavaScript, es conveniente que su biblioteca HTTP de JavaScript adjunte automáticamente el token CSRF a cada solicitud saliente.

De forma predeterminada, la biblioteca HTTP de Axios proporcionada en el archivo resources / js / bootstrap.js envía automáticamente un encabezado X-XSRF-TOKEN utilizando el valor de la cookie XSRF-TOKEN cifrada.

Si no está utilizando esta biblioteca, deberá configurar manualmente este comportamiento para su aplicación.


X-XSRF-TOKEN

Laravel almacena el token CSRF actual en una cookie XSRF-TOKEN cifrada que se incluye con cada respuesta generada por el marco. Puede usar el valor de la cookie para configurar el encabezado de solicitud X-XSRF-TOKEN.

Esta cookie se envía principalmente como una conveniencia, ya que algunos marcos y bibliotecas de JavaScript, como Angular y Axios, colocan automáticamente su valor en el encabezado X-XSRF-TOKEN en solicitudes del mismo origen.

Leave a Reply