[regresión] insertando iframe roto con dominio src permitido

Hola, he añadido https://www.tickcounter.com a mi allowed_iframes, pero este script todavía no aparece:

`

`

No hay nada en los registros de errores, por lo que puedo ver.

También falló para un iframe incrustado diferente de un dominio src diferente que permití.

Exactamente el mismo tipo de iframe incrustado del mismo dominio src funcionó la última vez que lo intenté, hace quizás 6 meses o un año. Ahora estoy en Discourse v3.3.1 +5 (rama estable).

En la última versión de la rama tests-passed, los iframe se incrustan sin problemas. Ten en cuenta que los atributos style y title que has establecido serán eliminados por Discourse. Sin embargo, puedes establecer los atributos width y height. Por ejemplo:

<iframe src="https://www.tickcounter.com/widget/countdown/5847336" width="100%"></iframe>

¿Qué ves cuando navegas a la publicación y luego abres la pestaña “elementos” de las herramientas de desarrollador de tu navegador?

¿Y si abres la pestaña “consola” en las herramientas de desarrollador? ¿Hay algún error?

:thinking: hmmm. Esto parece estar funcionando como se esperaba para mí también.

admin - todos los ajustes del sitio - iframes permitidos:

vista previa:

publicación procesada:

1 me gusta

Muchas gracias por las respuestas.

<div> class="regular contents"><div> class="cooked"></div><section class="post-menu-area clearfix"><nav class="post-controls expanded">

Mmm, hay algunos errores:

Failed to load resource: net::ERR_CONNECTION_REFUSED
beacon.min.js:1

Pero parece ser una lista negra de DNS que estoy usando. Cuando me conecto a través de una VPN, no hay errores. Y parece más que una coincidencia que otro usuario con un ordenador y una red completamente diferentes me informara originalmente de este mismo problema.

OK Firefox me muestra otro mensaje de consola:

Se proporcionó acceso a cookies o almacenamiento particionados a “https://www.tickcounter.com/widget/countdown/4471981” porque se carga en el contexto de terceros y el particionamiento dinámico de estado está habilitado.
[Más información]

También debo mencionar que pegué el código iframe en un archivo HTML estático esquelético y lo abrí en el navegador y cargó el iframe correctamente.

ok este iframe solía funcionar para ti… ¿Estás en Cloudflare por casualidad? si es así, quizás echa un vistazo y mira si desactivar la cosa del cerebro de velocidad hace algo (si está activado). Sé que es algo relativamente nuevo.

2 Me gusta

Hola, no, no uso Cloudflare.

2 Me gusta

sí, puedo hacer que el iframe funcione. algo lo está bloqueando en tu foro.

[cita=“Lilly, post:8, tema:327852”]
algo lo está bloqueando en tu foro
[/cita]

Hmm, sí, eso es lo que parece. ¿Pero no debería Discourse tener un error en /logs/?

No estoy ejecutando nada que se me ocurra en el servidor que pueda bloquear eso. Estaba usando el DNS del proveedor de alojamiento en mi /etc/resolv.conf, e intenté cambiarlo a 8.8.8.8 sin que cambiara este problema.

solo si causa un error. algo podría estar bloqueándolo como cuestión de funcionalidad adecuada. mi suposición es tratar de averiguar si/qué cambió alrededor del momento en que esto dejó de funcionar. Me pregunto si un cambio en la Política de Seguridad de Contenido podría haberlo afectado.

Parece que dices que estás usando una lista de bloqueo de DNS y que está rompiendo cosas, ¿así que no la uses?

2 Me gusta

o
https://www.tickcounter.com/ se añadió a la configuración de iframes permitidos?

3 Me gusta

Es un servicio de DNS que bloquea dominios con mala reputación. Pero ese no es el problema porque 1) cuando me conecto a través de una VPN, usa un DNS diferente y este problema continúa, y 2) el usuario que me informó de este problema está usando una configuración completamente diferente, 3) la configuración de DNS es solo para mi LAN y no en el servidor de Discourse que no puede generar el HTML adecuado del lado del servidor, y 4) este archivo HTML carga correctamente el iframe:

<!DOCTYPE html>
<html lang="en">

<head>
  <meta name="description" content="Webpage description goes here" />
  <meta charset="utf-8">
  <title>Change_me</title>
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <meta name="author" content="">
</head>

<body>

<div style="left:0; width:100%; height:0; position:relative; padding-bottom:25%; margin:0 auto">
<iframe src="https://www.tickcounter.com/widget/countdown/5847336" style="top:0; left:0; width:100%; height:100%; position:absolute; border:0; overflow:hidden" title="My countdown"></iframe>
</div>

</body>
</html>

¡Oh, vaya, eso era! Faltaba la / final.
¡Muchas gracias!

Algo ha cambiado en Discourse, porque agregué https://www.tickcounter.com la última vez que intenté esto y en ese momento funcionó. En mi opinión, o la lógica regexp que utiliza o la descripción de la configuración deben ajustarse, porque dice:

Una lista de prefijos de dominio de src de iframe que Discourse puede permitir de forma segura en las publicaciones

Cuando pienso en un “prefijo de dominio”, pienso en un nombre de dominio y/o un subdominio, ninguno de los cuales incluye una /. O si se supone que debe usar una lógica más precisa para URL src de iframe complejas, entonces debería decir algo como:

Una lista de prefijos de URL src de iframe que Discourse puede permitir de forma segura en las publicaciones

3 Me gusta

cuando agregues el enlace, debería mostrarte un mensaje de error debajo del campo que necesitabas otra barra diagonal

3 Me gusta

El problema son los enlaces que se agregaron hace más de 2 meses (antes de que se fusionara la corrección de seguridad), en ese momento no recibiste un mensaje de error e incluso los enlaces predeterminados no contenían un tercer ‘/’.
Este es al menos el segundo tema de soporte debido a eso

3 Me gusta

Sí, me preguntaba si ese era el caso, que los enlaces existentes se rompieron en algún momento. :thinking:

1 me gusta

¿Es posible comprobar la entrada existente y notificar a los administradores sobre los enlaces que ya no funcionan?

3 Me gusta

Para mí, creo que la mayor fuente de confusión fue el hecho de que se llama “dominio” cuando en realidad es una URL.

2 Me gusta

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.