Nuevo en Symfony 5.1: La preferencia "safe" de HTTP

Algunos sitios web cuentan con un "modo seguro" para evitar que los usuarios vean contenido no deseado. En vez de configurar esta opción en cada sitio web, los navegadores permite configurar esta opción globalmente para todos los sitios.

Esta funcionalidad se explica con detalle en el documento RFC 8674. A grandes rasgos, los navegadores que quieren activar el modo seguro añaden la cabecera HTTP Prefer: safe a sus peticiones. Por su parte, los servidores compatibles con esta opción añaden las cabeceras Preference-Applied: safe y Vary: Prefer en sus respuestas.

En Symfony 5.1 hemos añadido para esta opción en el componente HttpFoundation. En primer lugar, utiliza el siguiente método para comprobar si el usuario ha activado el "modo seguro":

// $request es una instancia de Symfony\Component\HttpFoundation\Request
if ($request->preferSafeContent()) {
    // ...
}

Si tu aplicación soporta esta opción, utiliza el método setContentSafe() para añadir a la respuestas las cabeceras HTTP correspondientes:

use Symfony\Component\HttpFoundation\Response;
 
$response = new Response('...');
$response->setContentSafe();

Algo importante a tener en cuenta es que la especificación RFC 8674 no define qué se considera contenido no seguro. Cada sitio web decide cuáles de sus contenidos son objetables o inseguros por cualquier motivo.

Esta funcionalidad fue contribuida por Loïck Piera en el pull request #34847.


Fuente: New in Symfony 5.1: The "safe" HTTP Preference

Comentarios

Publicada el

11 de marzo de 2020

Etiquetas

Proyectos Symfony destacados

La plataforma de eCommerce 100% Symfony que rivaliza con Magento y PrestaShop. Ver más

Síguenos en @symfony_es para acceder a las últimas noticias.