2.4. Trabajo con contenido. Formatos de texto.
Los sitios Drupal suelen estar diseñados para ser publicados en Internet. Y cuando publicas un sitio, se vuelve accesible para todo el mundo, incluidos los spammers y rastreadores que buscan la oportunidad de publicar spam y su código en tu sitio. Drupal cuenta con comprobaciones y filtros de texto para detectar y neutralizar código malicioso desde los formularios de entrada de datos (puedes leer más sobre los ataques XSS).
Vamos a Configuración → Creación de contenido → Formatos de texto y editores:
/admin/config/content/formats
Aquí tenemos los formatos de texto predeterminados: HTML completo, HTML básico, HTML restringido, Texto sin formato. Se ejecutan de arriba hacia abajo; si el usuario tiene el rol adecuado, se aplica ese formato, si no, se aplica el siguiente filtro que esté más abajo. Cuanto más bajo esté el filtro, menos texto se permite y más filtros se aplican. Pongamos HTML completo en la parte superior: es el filtro más permisivo, con menos comprobaciones; que lo utilicen los administradores por defecto:
Ahora vamos a la configuración de HTML básico y asignamos este formato a los usuarios anónimos. También permitimos que usen CKEditor (editor visual).
Ten en cuenta que CKEditor está deshabilitado por defecto, y eso no es casualidad. Los editores visuales antiguos son una posible vulnerabilidad para tu sitio. Y dado que estás habilitando el editor para usuarios anónimos, estás abriendo esa posible brecha. Pero no te preocupes, CKEditor está integrado en Drupal y se actualizará junto con él.
Pasamos a las configuraciones adicionales, donde podemos crear grupos de íconos y arrastrar los íconos que necesitemos. Por ejemplo, he creado el grupo "Alineación" y he insertado los íconos correspondientes para alinear el texto.
Después de eso, podemos configurar la carga de archivos a través de CKEditor, aunque los valores por defecto son adecuados:
A continuación, podemos configurar los filtros del formato de texto. Fíjate en el filtro “Omitir solo las etiquetas HTML permitidas”, que es clave para HTML básico, ya que filtra el código JavaScript y deja solo las etiquetas necesarias. Los demás filtros los puedes activar o desactivar según tus necesidades.
Podemos ordenar los filtros activados. Asegúrate de que el filtro principal “Limitar etiquetas HTML permitidas y corregir HTML incorrecto” esté en la parte superior, para que filtre todo el JavaScript antes de que actúen los demás filtros.
Finalmente, podemos definir qué etiquetas se conservarán después del filtrado. En general, el conjunto predeterminado es bastante amplio, pero te recomiendo añadir rel="nofollow"
para que los comentarios spam no perjudiquen el SEO del sitio.