No podemos detectar si se creó tu cuenta; asegúrate de tener las cookies activadas

Esta es una información excelente. No he visto un problema de CORS específicamente, pero investigaré más sobre esto. Si encuentro algo, lo publicaré aquí.

Al ver los scripts, parece que está relacionado con Cloudflare. ¿Estás usando Cloudflare? https://boards.neocron.org/cdn-cgi/apps/head/QNWX_8GN-3K7wUr6Qa73LdoD3JI.js. Nosotros no usamos eso, así que probablemente no hayamos visto este problema específico.

¡Gracias!

Al indagar, teníamos activada la opción Settings->Security->content security policy.

Una vez que la desactivamos, los usuarios pudieron registrarse. Intentamos agregar las URLs encontradas en el informe anterior a las fuentes de scripts en la lista blanca, pero eso no resolvió el problema.

Aparentemente, Chrome ha reforzado su CSP. → Manifest - Content Security Policy  |  Chrome Extensions  |  Chrome for Developers

mmm, me temo que tenemos eso deshabilitado; debería ser otra cosa lo que nos esté causando este problema

Disculpas :frowning:

Tenemos DISCOURSE_ENABLE_CORS establecido en true, y nuestras orígenes CORS están configuradas de la siguiente manera…

No sé si eso podría ayudarte o si tu configuración podría ser diferente.

También tenemos habilitada la bandera CORS, pero no estamos seguros de si esto está relacionado.

Esto es un problema de CSP, no de CORS.

¿Es una configuración de subcarpeta?

EDIT: Volviendo sobre esto y revisándolo de nuevo, veo qué está pasando.

Puedo confirmar que esto fue inyectado por CF.

Recomendamos ENÉRGICAMENTE no desactivar CSP en un sitio de producción. En su lugar, desactive Cloudflare si es posible (hemos tenido MUCHOS, MUCHOS casos de soporte sobre CF afectando negativamente al JS de Discourse) o, al menos, desactive todas las optimizaciones de Cloudflare.

Esto abre enormes brechas de seguridad en tu sitio. RECOMENDAMOS ENÉRGICAMENTE que NO hagas eso. Es un consejo muy peligroso.

Hola @supermathie,

No utilizamos Cloudflare y estamos viendo este problema ahora con 2 usuarios. La solución temporal que les estamos dando es que usen el modo incógnito o otro navegador, pero es posible que haya más usuarios que no nos estén reportando este problema.

Nuestra comunidad está compuesta principalmente por personas no técnicas, así que no creo que tengan configuraciones de navegador extrañas.

¿Podrías proporcionar más información sobre qué está desencadenando este problema? Tal vez pueda partir de ahí para encontrar una solución.

¡Gracias!

¡Ojalá nosotros supiéramos exactamente.

Hay un campo de entrada oculto en la pantalla de “Creación de cuenta” que se verifica para garantizar su integridad en el momento de la creación de la cuenta.

Si este campo es manipulado, la creación de la cuenta falla.

¿Podrías pedir a tus usuarios que desactiven sus complementos uno por uno hasta que localicen al culpable?

También tenemos un ticket abierto con el proyecto de Chrome para investigar este comportamiento.

Permíteme recordarte esta captura de pantalla de la computadora de un usuario no técnico:

Imgur

No puedes asumir nada :slight_smile:

Sí, quiero decir que ya no es el año 2000; la seguridad del navegador y la prevención de malware son mejores ahora (creo). Otro usuario lo reportó hoy; intentaré obtener más información de ellos y, con suerte, encontraré algo.

¡Gracias!

Fantástico. Realmente queremos concretar esto, así que avísanos.

Tengo un amigo que también está experimentando este problema: estoy intentando incorporarlo como moderador. Cuando me registro en una ventana de incógnito, funciona bien, pero él no puede ni siquiera en una ventana de incógnito. Así que estoy seguro de que el problema no está en mi instalación (uso plugins con Discourse, pero solo los oficiales), sino en su navegador en algún punto.

Estoy trabajando con él para localizar el problema, pero si no se trata de un problema con los plugins, me pregunto si podría haber algo relacionado con nuestras versiones de Chrome, quizás algo ocurriendo bajo el capó del navegador de lo que no tengo conocimiento, aunque aún no puedo afirmarlo con certeza. Actualmente estoy intentando conseguir su número de versión para compararlo, pero como es de California, si es sensato, estará dormido :stuck_out_tongue:

De acuerdo, no tiene mucho sentido, pero está despierto y es útil. Actualizó de la versión 75.0.3770.142 a la 76.0.3808.87 (64 bits), lo cual por sí solo no resolvió el problema en la ventana principal, pero después de borrar la caché y las cookies, pudo registrarse en una ventana de incógnito. Está usando una instalación completamente estándar de Chrome, salvo por el bloqueador de anuncios.

EDITO: No podría decirte si borrar la caché o las cookies habría funcionado en la versión 75.0.3770.142 sin poder reproducir el problema (no puedo), pero me resulta interesante que al menos pareció ayudar a mi amigo.

Hola, acabo de configurar una instancia nueva hoy en community.boid.com y me encontré con este mensaje de error después de intentar registrar una segunda cuenta (tanto en mi ventana normal de Chrome como en modo incógnito). Logré resolver el problema eliminando manualmente las contraseñas de autocompletado de mi cuenta de Google y sin usar ninguna de las opciones de autocompletado en el formulario de registro. Noté que Chrome sugería muchas opciones de autenticación diferentes para autocompletar desde otros sitios web no relacionados. No he visto este comportamiento en otros sitios, así que solo quería mencionar mi experiencia.

Por lo que puedo decir, esto parece estar relacionado con el autocompletado de Google Chrome.

Tengo una forma de reproducir esto, pero es bastante oscura. Necesitarás dos ventanas del navegador.

  • Carga tu sitio en modo incógnito y abre el diálogo “crear nuevo usuario”.

  • En una segunda ventana del navegador, inicia sesión como administrador. Ve a la configuración del sitio. Habilita la opción “solo por invitación”, lo que deshabilita el registro público.

  • En el navegador incógnito, intenta completar el registro como nuevo usuario mediante el diálogo “crear nuevo usuario” que abriste anteriormente.

No podrás hacerlo, porque la creación de nuevos usuarios ya no está permitida, así que verás… nuestro viejo amigo…

Al menos tenemos esa forma de reproducirlo, aunque es… insana. :crazy_face:

Nunca, jamás, he podido reproducir esto de ninguna otra manera, ni tampoco nadie en este tema ha podido proporcionar un conjunto de pasos para reproducirlo en una instancia predeterminada de Chrome sin extensiones. Si puedes, por favor, acércate y comparte esos pasos.

He reproducido este error en try.discourse.org:


Simplemente disfruta del video de todo el proceso: https://drive.google.com/file/d/19s20cgdz78XYpgHePkWRBFXseY-Znt_P/view?usp=sharing
Esto sucedió CADA vez que usé la contraseña generada sugerida.
Así que… ¿cómo podemos solucionar este problema para nuestros clientes?

OK, muy bien, tenemos un caso reproducible con el que podemos trabajar, gracias por ello.

Sin embargo, ten en cuenta que aún requiere una acción manual del usuario: hacer clic con el botón derecho en el campo de contraseña al crear una cuenta nueva o registrarse y pulsar “sugerir”. Tengo que f5 recargar la página antes de iniciar el diálogo de registro para que aparezca de forma fiable, pero entonces sí funciona.

Ahora que tenemos un tipo de caso reproducible, @sam, ¿podemos asignar el trabajo?

Tenemos dos mecanismos en juego para evitar que los bots registren cuentas de forma indiscriminada.

  1. Simulamos un campo de “confirmación de contraseña” que en realidad es un “truco”: esperamos que tenga un valor muy específico. Es un campo de entrada (INPUT) que no se muestra en pantalla; está dentro de un div oculto.

  2. Disponemos de una cadena de desafío que esperamos que JavaScript procese y devuelva.

Si no se cumple (1) o (2), tratamos la solicitud como sospechosa y no registramos la cuenta.

Lo que está haciendo el gestor de contraseñas de Chrome es “rellenar” la contraseña en el campo new-account-confirm:

{{input type="password" value=accountPasswordConfirm id="new-account-confirmation" autocomplete="new-password"}}

Este INPUT está oculto y no se renderiza en pantalla.

Tenemos dos alternativas aquí.

  1. Eliminar esta protección y asumir como un hecho que los gestores de contraseñas fallan en este punto. Ellos no se molestan en verificar que un campo de “confirmar contraseña” sea realmente visible antes de rellenarlo.

  2. Pedir al equipo de Chrome que deje de hacerlo; rellenar información en campos INPUT que no son visibles no es correcto. (Ya lo hice)

No lo sé… Supongo que podemos optar por la opción (1), es un cambio sencillo. Podría eliminar la protección y hacer que el cliente de JavaScript calcule un hash al estilo Bitcoin para demostrar que está realizando trabajo. Por ejemplo, le daría al cliente una cadena y le pediría que le añada números hasta que el MD5 termine con 00; al menos sería costoso para los bots y muy barato de verificar en el servidor.

Hacer que los bots calculen ciegamente MD5s, supongo, es una forma de obligarlos a pagar las facturas y financiar mi jubilación en las Bahamas.

¿Es posible desactivar completamente este mecanismo y habilitar el clásico Google CAPTCHA? Creo que esto mantendría la seguridad y, al mismo tiempo, permitiría que más usuarios se registren.

O podemos esperar tu parche urgente. ¿Qué opción te parece mejor? Lanzaremos un gran flujo de nuestros socios en nuestro foro a principios de la próxima semana.

Acabo de crear una cuenta nueva, con CERO anti-spam / spyware / software en el navegador y encontré el mismo problema. Lo solucioné usando el método ‘iniciar sesión con Google’ y funcionó después de eso.