¿Cómo puedo dejar de ser redirigido a App Store/Google Store por scripts de anuncios dudosos?

Hay un montón de sitios que hacen esto ahora, y es realmente molesto:

  • Visito un sitio de contenido en mi dispositivo Android.
  • 10-15 segundos después de que comience la carga, el sitio se cuelga durante unos segundos.
  • Google Play Store se carga con una aplicación de basura (generalmente algún FTP horrible o una aplicación de batería inútil) preseleccionada.

Esto parece deberse a que un ad-script dudoso (es decir, Javascript que se ejecuta en la página web) de alguna manera puede redirigir mi dispositivo para abrir un enlace a una aplicación en la tienda sin que yo lo seleccione directamente.

Considero que es una falla de seguridad crítica que Android permita que esto suceda, pero luego los iPhones hacen exactamente lo mismo (pero se cuelgan por mucho más tiempo al abrir la tienda de aplicaciones).

Este no soy yo haciendo clic accidentalmente en cualquier cosa: el sitio se carga, luego se dispara la redirección de Play Store, cada vez.

¿Hay alguna manera de parar esto? ¿Alguna opción que pueda configurar en la tienda o en el navegador para detener este comportamiento increíblemente molesto?

Estoy en un Nexus 7, pero he visto esto en muchos otros dispositivos Android.

Para ser claros, esta es una característica del navegador que llama a un sistema (Android) "gancho".
@ user66001 Este es un problema de 5 años, estoy bastante seguro de que se debió a que JS pudo ejecutar protocolos que no son HTTP (sin interacción del usuario) que han sido bloqueados durante mucho tiempo por un mejor CORS. Este fue un gran dolor en 2014, no creo que lo haya visto en años.

Respuestas (3)

No puede evitar que los sitios web lo redirijan a otros sitios: así es como funciona la web. Lo que puede hacer es detener los enlaces a las aplicaciones en Google Play que se abren en la aplicación Play Store.

Android 6 (Marshmallow) :
desde la configuración principal del dispositivo , vaya a Aplicaciones , luego busque Google Play Store en la lista, haga clic en Abrir de forma predeterminada , luego Abrir enlaces admitidos , luego No abrir en esta aplicación .

Android anterior :
desde la configuración principal del dispositivo , vaya a Aplicaciones , luego busque Play Store en la lista y haga clic en Borrar valores predeterminados .
La próxima vez que un sitio web lo redirija a un enlace de Google Play, obtendrá un selector que le preguntará si desea abrirlo en el navegador (le dará una opción de navegadores si tiene varios instalados) o con la aplicación Play Store . Seleccione el navegador web y haga clic en Siempre . Ahora los enlaces a Google Play nunca se abrirán en la aplicación Play Store.

Tenga en cuenta que esto no es un problema de seguridad, independientemente del comportamiento que elija. Los enlaces web solo pueden abrir aplicaciones en el dispositivo si (1) la aplicación dice específicamente que puede entender/manejar ese tipo de enlace; y (2) la aplicación dice específicamente que es seguro acceder a ella de esa manera desde la web. La aplicación hace esto usando un filtro de intención marcado con la categoría navegable .

Estoy bien con un enlace en el que hago clic para abrir la aplicación; ese es un comportamiento útil. Lo que tengo un problema es abrir el enlace de la aplicación cuando no lo he seleccionado. Este es un problema de seguridad, ya que las páginas web no deberían poder realizar una redirección de origen cruzado sin la intervención del usuario (razón por la cual los sitios de malware intentan el secuestro de clics para lograr un efecto similar). Creo que es por eso que su solución funciona: Chrome (correctamente) no permite la solicitud web de origen cruzado mientras que Android (incorrectamente) permite la aplicación cruzada.
Probaría el enfoque de Dan con un último paso ligeramente diferente: en lugar de seleccionar el navegador como nuevo predeterminado, simplemente presione el botón "Atrás" cuando aparezca la ventana emergente. Eso debería abortar la acción. El efecto secundario es que siempre tendrá esa ventana emergente y debe seleccionar la aplicación de destino manualmente cada vez. La única otra forma es evitar esos sitios y, opcionalmente, dejar un comentario correspondiente al webmaster/servicio/cualquiera que sea el contacto proporcionado.
@Keith Es perfectamente normal que un sitio redirija a un dominio diferente. Lo mismo sucede cuando usa una URL abreviada o hace clic en un resultado de búsqueda de Google. Solo sería un problema de seguridad si la aplicación le permitiera realizar alguna acción (como instalar la aplicación) desde el enlace sin más intervención.
@DanHulme cuando hace clic en un resultado de búsqueda que es una acción iniciada por el usuario. Los servicios de acortamiento de URL devuelven un encabezado que redirige al navegador. Ambos están bien. Sin embargo, no puede tener una secuencia de comandos cargada en la página que redirige al usuario a otra página en un dominio diferente; si pudiera cargar una página llena de redireccionamientos de anuncios, se lanzarían muchas páginas nuevas o ventanas emergentes (como el viejo mal días en la PC). Todos los navegadores más nuevos implementan algún tipo de CORS para evitar eso. Esta es una falla de seguridad de CORS en el nivel del sistema operativo Android.
@Keith No estoy seguro de por qué crees que el sistema operativo Android decide si seguir el enlace o no. Depende completamente del navegador web. Solo el navegador web tiene información sobre si la acción fue iniciada por el usuario o no, y si el remitente y el destino comparten un dominio o no.
@DanHulme: creo que puede tener razón, esto tiene algo que ver con la interfaz del navegador / sistema operativo. Parece que el modo de incógnito también es una solución alternativa, ya que recibe la advertencia "Si abre una aplicación, dejará el modo de incógnito" antes de recibir la redirección. Creo que el problema es que el navegador difiere todos los enlaces de la aplicación al sistema operativo/aplicación una vez que ha configurado una aplicación para abrir ese protocolo, mientras que en realidad solo debería diferir después de verificar la iniciación del usuario.
No estoy de acuerdo con este comentario de que esto no es un problema de seguridad. Javascript y los navegadores en general no se diseñaron para las redes mega-agregadas que tenemos ahora o la desconexión entre los proveedores de contenido y el contenido que ofrecen. Si algo le sucede a su dispositivo y es indeseable y desagradable, diría que es un problema de seguridad. Estamos hablando de los anuncios que secuestran el navegador y el usuario y realizan una acción en su nombre. Que encaje dentro del modelo de seguridad existente no es el punto, sigue siendo un problema de seguridad.
Esto parece no funcionar como una solución en todos los dispositivos y versiones de Android. Ejecuto 5.1 en un Moto X de 2.ª generación, "no hay configuración predeterminada" para la aplicación Play Store y los anuncios maliciosos aún pueden iniciar la aplicación Play Store desde Chrome.
A partir de 2017 y Android 7.1 esto ya no funciona. Esta falla permite que los sitios web se vuelvan inutilizables al redirigir infinitamente al usuario a Play Store. He deshabilitado "Abrir enlaces admitidos" para Play Store, pero aún se abren. Noté que hay algunas opciones atenuadas que no puedo eliminar, así que asumo que Google ha decidido codificar esto. ¿Alguna otra opción?
No funciona con Android 10
Confirme que no funciona en Android 8. La política simplemente se ignora.

Supongo que, ya que nunca lo mencionaste, no estás rooteado y usas el navegador estándar (chrome).

Las soluciones que se me ocurren, deshabilitar javascript, instalar un navegador alternativo, por ejemplo, Firefox, que tiene un complemento adblock o rootear su dispositivo y usar algo como adaway.

Se está volviendo tan molesto que lo estoy considerando, pero realmente no quiero tener que rootear la tableta.
Sin rootear, estás limitado a las opciones de bloqueo de anuncios. Yo probaría la ruta alternativa del navegador. Desafortunadamente, dado que Google es una empresa que se basa en la publicidad, ha eliminado todas las aplicaciones de bloqueo de anuncios de Play Store, aunque entiendo su posición, deja la navegación móvil abierta a prácticas abusivas. Espero que encuentres una solución.
@ mickc1306 eso es muy cierto, más del 90% de sus ingresos son publicidad, NO les interesa permitirle bloquear anuncios. La razón por la que arraigé fue AdAway para ser honesto. También elimina el marco publicitario de algunas aplicaciones para que vuelvan a ser agradables y a pantalla completa. Ahora simplemente salgo de la caja más o menos. Una vez que te acostumbras a eliminar bloatware y anuncios, ¡es difícil volver atrás!
Vine aquí porque Firefox en Android experimenta este mismo comportamiento.
Este comportamiento no tiene nada que ver con los anuncios. El sitio web está cargando un protocolo (es decir, URL, CALLTO, etc.) que luego el navegador pasa a una acción predeterminada en el sistema (Android/iOS/etc). Impida que el navegador haga algo con ese protocolo (o no a través de medios JS/sin preguntar) o detenga la asociación del sistema operativo entre el protocolo y la acción (aunque esto último deshabilitará otras aplicaciones que usan la misma funcionalidad desde el inicio de la tienda de aplicaciones), y el problema es resuelto

No necesita root para detener esto en seco.

adblockplus.org

No está en la tienda de juegos. Es 100% gratis y funciona perfectamente. Tiene varias opciones. Capacidad para bloquear todos los anuncios o solo algunos como estos molestos redireccionamientos xploits de los que hablamos aquí.

Y es un problema de seguridad del navegador, no un problema del sistema operativo Android.

Buen enlace para dispositivos no rooteados. +1
Es un problema del sistema operativo Android. -1
Como desarrollador de Android, que lanza aplicaciones compatibles con anuncios, nunca admitiré ningún tipo de aplicación AdBlock en Android. Roban los ingresos de los desarrolladores, por lo que no están permitidos en Play Store.
Es amigable para los desarrolladores. De forma predeterminada, está configurado para bloquear solo anuncios intrusivos como los que se analizan aquí. Solo lo uso para bloquear anuncios intrusivos. Y anuncios a pantalla completa que intentan robar. Lo siento si eres un desarrollador que usa tales métodos publicitarios en tus aplicaciones de software, pero nunca cambiaré mis creencias.
@RyanConrad Estoy de acuerdo con los anuncios en principio, pero como desarrollador, ¿realmente crees que alguien que está leyendo un artículo de FB sobre (gatos divertidos/txts/lo que sea) en realidad estará contento con su redirección forzada a la tienda de juegos en el medio? ¿de leer? Luego tienen que regresar e intentar encontrar dónde estaban y esperar que no los vuelvan a patear... ¿crees que alguna de estas personas estará de buen humor para descargar la aplicación de batería o el juego F2P? Recuerda, no es como un anuncio en una página web tradicional.
Exactamente. @Benjamín. Y Adblockplus hace precisamente eso. No 'roba ingresos' como mencionó Ryan Conrad en absoluto. Simplemente detiene los anuncios intrusivos. Toca los intentos de robo. Y si eres un desarrollador que implementa métodos tan viciosos de publicidad para obtener ingresos, deberías ser fusilado. Y la razón por la que Google no tiene ningún software de bloqueo de anuncios en Play Store es porque va en contra de todo lo que es Google. De lo que crees que proviene Google. Jajaja. Sin anuncios Google no es nada. Los anuncios son la principal fuente de ingresos de Google. Siempre ha sido Google el culpable de dichos anuncios en Internet. No es algo malo.
@RyanConrad Estoy contento con los anuncios, no son el problema. El problema son los scripts de anuncios que me impiden navegar, hacen vibrar el teléfono, abren un cuadro de diálogo y luego me redirigen a la tienda de aplicaciones. Quiero apoyar a los desarrolladores que usan el modelo con publicidad, lo hago, pero con los anuncios que se ejecutan desenfrenadamente, realmente no tengo otra opción. Estos patrones oscuros deben funcionar para algunos pobres incautos que terminan con malware instalado, pero para mí, cualquier aplicación que me anuncien con este tipo de script garantiza que nunca la instalaré y advertiré a mis amigos que tampoco lo hagan. Android necesita cerrar el agujero de seguridad.
@HasH_BrowN: NO ES inherentemente un problema del sistema operativo. Configure o diseñe un navegador para que no haga nada con el protocolo de la 'tienda de aplicaciones', y el sistema operativo nunca sabrá que la solicitud existió. Si ve la capacidad de hacer clic en un enlace en un correo electrónico, alguna otra aplicación o sitio web y simplemente trae uno a la página de información en la tienda de aplicaciones como un problema del sistema operativo, entonces eso puede ser un punto.