Cómo manipular la propiedad sameSite para prevenir "Cross-Site Request Forgery"
Cómo agragar sameSite para prevenir "Cross-Site Request Forgery"
En el presente tutorial se muestra cómo habilitar la medida de seguridad "sameSite" para prevenir la vulnerabilidad llamada "Cross-Site Request Forgery".
Como referencia puedes hacer la prueba antes de hacer la presente modificación dando clic derecho en tu navegador, en este caso estoy utilizado el navegador Chrome y dando clic en la opción de "Application" despues en "Cookies" y en seguida selecciono el sitio correspondiente, aparecera algo como lo siguiente:
Observa que en donde dice "SameSite" esta vacio, esto indica que no se tiene dicha medida de seguridad.
Entonces para cambiarla yo estoy realizando este ejercicio con PHP 8.1 y Yii
2.0.47, que de acuerdo a la documentación de Yii esto sólo funciona a partir de la version 2.0.21 o superior.
Deberá entrar al archivo de configuración según su plantilla, en mi caso tengo la básica por lo que entraré a "config/web.php" y agregaré la siguiente configuración.
'components' => [
'session'=>[
'cookieParams' => [
'httpOnly' => true,
'secure' => true,
'sameSite' => PHP_VERSION_ID >= 70300 ? yii\web\Cookie::SAME_SITE_LAX : null,
]
],
]
Observe que dicha configuración debe estar dentro de los corchetes de "component" y dentro de una propiedad llamada "session", las primeras dos configuraciones 'httpOnly' y 'secure' son opcionales aun que yo recomiendo agregarlas, y la tercera propiedad 'sameSite' es la que hará el trabajo de agregar a seguridad de 'sameSite' para evitar "Cross-Site Request Forgery".
Una vez que se aplique la propiedad, si todo esta bien deberá aparecer de la siguiente manera:
Referencias:
https://www.yiiframework.com/doc/guide/2.0/en/runtime-sessions-cookies
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#samesitesamesite-value
https://owasp.org/www-community/SameSite
Comentarios
Publicar un comentario