Las capacidades de las cookies han crecido y evolucionado a lo largo de los años, pero han dejado algunos problemas heredados. Para manejar esto, los navegadores (incluyendo Safari, Chrome, Firefox y Edge) están cambiando su comportamiento con respecto a los atributos SameSite y Secure para un modelo seguro por defecto para las cookies.
Como desarrollador web de 4D, usted puede estar preocupado por la cookie de sesión web de 4D si quiere evitar que su aplicación sufra una falsificación de solicitud en el sitio.
Para evitar que su cookie de sesión web circule por la web inútilmente o sea malinterpretada por los navegadores debido a un valor aplicado por defecto, debe preguntarse si es
- una cookie de terceros: asociada a un nombre de dominio diferente al de la página donde se encuentra la cookie. Una cookie de terceros es colocada por un objeto de la página( por ejemplo, un anuncio) que se origina en un dominio distinto del que aloja la página
o
- una cookie de origen: asociada al dominio de la página
Dependiendo de su caso de uso, debe elegir el valor apropiado para el atributo SameSite de su cookie de sesión web.
Para reforzar la seguridad, el atributo Secure debe ser establecido para la cookie de sesión web cuando la conexión es segura (HTTPS) para indicar al navegador que la cookie puede ser enviada con seguridad.
Siga leyendo para saber cómo 4D le respalda para mejorar la privacidad y la seguridad en la web.
Para que puedas elegir cómo debe comportarse tu servidor web, hemos mejorado el objeto servidor web añadiendo una nueva propiedad sessionCookieSameSite.
Establecer un valor de atributo Samesite
Por defecto, el servidor web establecerá el atributo SameSite de la cookie de sesión en«Strict». Hemos elegido este valor porque es el más seguro.
Si desea otro valor, utilice el comando del servidor web:
var $webServer; $settings: Object
$settings :=New object()
$webServer :=WEB Server
$settings .sessionCookieSameSite:=Web SameSite Lax
$webServer .
stop()
$webServer .
start($settings)
Cada valor de sensibilidad para el atributo SameSite se proporciona en el lenguaje 4D con constantes específicas:
- Web SameSite Lax = «Lax»
- Web SameSite Strict = «Strict» (Estricto)
- Web SameSite None = «None»
A continuación, un resumen de lo que verá en su navegador:
¿y el atributo secure?
Si el valor del atributo SameSite es «None», algunos navegadores pueden requerir que el atributo Secure se establezca en otro valor para poder enviarlo (sólo si la conexión es HTTPS).
La buena noticia es que el servidor web 4D maneja esto automáticamente.
Si una conexión es HTTPS, la cookie de sesión se establece automáticamente con el atributo Secure, para que los navegadores la envíen.
He aquí un resumen de lo que verá en su navegador con una conexión HTTPS:
¡Ahora trabajemos con seguridad con nuestras aplicaciones web y discutamos esto en el foro!