Как я могу перестать перенаправляться в App Store/Google Store из-за хитрых рекламных скриптов?

Сейчас есть множество сайтов, которые делают это, и это действительно раздражает:

  • Я посещаю содержательный сайт на своем устройстве Android.
  • Через 10-15 секунд после начала загрузки сайт зависает на несколько секунд.
  • Магазин Google Play загружается с предварительно выбранным мусорным приложением (обычно каким-то ужасным FTP или бесполезным приложением для батареи).

Похоже, это связано с тем, что хитрый рекламный скрипт (например, Javascript, работающий на веб-странице) каким-то образом может перенаправить мое устройство, чтобы открыть ссылку на приложение в магазине, без моего непосредственного выбора.

Я считаю критическим сбоем безопасности то, что Android позволяет этому случиться, но тогда Iphones делают то же самое (но зависают намного дольше, открывая магазин приложений).

Это не то, что я случайно нажимаю на что-либо — сайт загружается, а затем каждый раз срабатывает перенаправление игрового магазина.

Есть ли способ остановить это? Любую опцию, которую я могу установить в магазине или браузере, чтобы остановить это невероятно раздражающее поведение?

У меня Nexus 7, но я видел это на многих других устройствах Android.

Чтобы было ясно, это функция браузера, которая называет систему (Android) «ловушкой».
@user66001 user66001 Это проблема пятилетней давности, я уверен, что это произошло из-за того, что JS разрешено выполнять протоколы, отличные от HTTP (без взаимодействия с пользователем), которые долгое время блокировались лучшим CORS. Это была огромная боль в 2014 году, я не думаю, что видел это годами.

Ответы (3)

Вы не можете запретить веб-сайтам перенаправлять вас на другие сайты: именно так работает Интернет. Что вы можете сделать, так это остановить открытие ссылок на приложения в Google Play в приложении Play Store.

Android 6 (Marshmallow) :
в основных настройках устройства перейдите в раздел « Приложения », затем найдите в списке Google Play Store , нажмите «Открыть по умолчанию» , затем « Открыть поддерживаемые ссылки », затем «Не открывать в этом приложении » .

Старые версии Android :
в основных настройках устройства перейдите в раздел « Приложения », затем найдите в списке Play Store и нажмите « Очистить настройки по умолчанию » .
В следующий раз, когда веб-сайт перенаправит вас на ссылку Google Play, вы получите средство выбора , спрашивающее вас, открывать ли его в браузере (это даст вам выбор браузеров, если у вас установлено несколько) или с приложением Play Store . Выберите веб-браузер и нажмите « Всегда» . Теперь ссылки на Google Play никогда не будут открываться в приложении Play Store.

Обратите внимание, что это не проблема безопасности, какое бы поведение вы ни выбрали. Веб-ссылки могут открывать приложения на устройстве только в том случае, если (1) приложение прямо заявляет, что может понимать/обрабатывать ссылки такого типа; и (2) в приложении конкретно указано, что доступ к нему таким образом из Интернета безопасен. Приложение делает это с помощью фильтра намерений, отмеченного категорией для просмотра .

Меня устраивает ссылка, по которой я нажимаю при открытии приложения — это полезное поведение. У меня проблема с открытием ссылки на приложение, когда я ее не выбрал. Это проблема безопасности, поскольку веб-страницы не должны выполнять перенаправление между источниками без вмешательства пользователя (именно поэтому вредоносные сайты пытаются использовать кликджекинг для достижения аналогичного эффекта). Я думаю, именно поэтому ваш обходной путь работает: Chrome (правильно) запрещает кросс-запрос, а Android (неправильно) разрешает кросс-приложение.
Я бы попробовал подход Дэна с немного другим последним шагом: вместо того, чтобы выбирать браузер в качестве нового по умолчанию, просто нажмите кнопку «Назад», когда появится всплывающее окно. Это должно прервать действие. Побочным эффектом является то, что у вас всегда будет это всплывающее окно, и вы должны каждый раз выбирать целевое приложение вручную. Единственный другой способ - избегать этих сайтов и, при желании, оставлять соответствующий комментарий веб-мастеру/сервису/независимо от контакта.
@Keith Для сайта совершенно нормально перенаправлять на другой домен. То же самое происходит, когда вы используете сокращенный URL-адрес или нажимаете на результат поиска Google. Это будет проблемой безопасности только в том случае, если приложение позволит вам выполнить какое-либо действие (например, установить приложение) по ссылке без дальнейшего вмешательства.
@DanHulme, когда вы нажимаете на результат поиска, инициированный пользователем. Службы сокращения URL-адресов возвращают заголовок, который перенаправляет браузер. Оба в порядке. Однако вы не можете загрузить скрипт на страницу, который перенаправляет пользователя на другую страницу в другом домене - если бы вы могли загрузить страницу, полную перенаправлений рекламы, вы бы запустили множество новых страниц или всплывающих окон (например, старый плохой дней на ПК). Во всех новых браузерах реализован какой-то CORS , чтобы этого избежать. Это ошибка безопасности CORS на уровне ОС Android.
@ Кейт Я не уверен, почему вы думаете, что ОС Android решает, переходить по ссылке или нет. Это полностью зависит от веб-браузера. Только веб-браузер имеет информацию о том, было ли действие инициировано пользователем или нет, и имеют ли реферер и цель общий домен или нет.
@DanHulme - я думаю, вы можете быть правы, это как-то связано с интерфейсом браузера / ОС. Похоже, что режим инкогнито также является обходным путем, поскольку вы получаете предупреждение «Если вы откроете приложение, вы покинете режим инкогнито» до того, как получите перенаправление. Я думаю, что проблема заключается в том, что браузер откладывает все ссылки приложений на ОС/приложение после того, как вы настроили приложение для открытия этого протокола, в то время как на самом деле он должен откладывать только после того, как он подтвердил инициацию пользователя.
Я не согласен с этим комментарием, что это не проблема безопасности. Javascript и браузеры в целом не были предназначены для сетей с мега-аддонами, которые у нас есть сейчас, или разрыва между поставщиками контента и контентом, который они обслуживают. Если с вашим устройством что-то происходит, и это нежелательно и неприятно, я бы сказал, что это проблема безопасности. Речь идет о рекламе, которая захватывает браузер и пользователя и выполняет действие от их имени. То, что он вписывается в существующую модель безопасности, не имеет значения — это все еще проблема безопасности.
Похоже, это не работает как решение на всех устройствах и версиях Android. Я использую 5.1 на Moto X 2-го поколения, «не установлены значения по умолчанию» для приложения Play Store, и вредоносная реклама по-прежнему может запускать приложение Play Store из Chrome.
С 2017 года и Android 7.1 это больше не работает. Этот недостаток позволяет веб-сайтам делать себя непригодными для использования, бесконечно перенаправляя пользователя в магазин игр. Я отключил «Открыть поддерживаемые ссылки» для игрового магазина, но они все еще открываются. Я заметил, что есть несколько вариантов, выделенных серым цветом, которые я не могу удалить, поэтому я предполагаю, что Google решил жестко закодировать это. Любые другие варианты?
Не работает с Android 10
Подтвердите, что это не работает на Android 8. Политика просто игнорируется.

Я так понимаю, поскольку вы никогда не упоминали, что у вас нет рута и вы используете стандартный браузер (chrome).

Решения, которые я могу придумать: отключить javascript, установить альтернативный браузер, например Firefox, который имеет надстройку для блокировки рекламы, или получить root права на ваше устройство и использовать что-то вроде adaway.

Это становится достаточно раздражающим, чтобы я обдумывал это, но я действительно не хочу рутировать планшет.
Без рута вы ограничены вариантами блокировки рекламы. Я бы попробовал альтернативный маршрут браузера. К сожалению, поскольку Google является компанией, которая полагается на рекламу, она удалила все приложения, блокирующие рекламу, из магазина игр, хотя я понимаю их позицию, она оставляет мобильный просмотр открытым для злоупотреблений. Надеюсь, вы найдете решение.
@ mickc1306 это правда, более 90% их доходов приходится на рекламу, и НЕ в их интересах позволять вам блокировать рекламу. Самой причиной, по которой я укоренился, была AdAway, если честно. Он также удаляет рекламную рамку из некоторых приложений, чтобы они снова были красивыми и полноэкранными. Теперь я просто корень из коробки в значительной степени. Как только вы привыкнете к удалению вирусов и рекламы, вернуться назад будет сложно!
Я пришел сюда, потому что Firefox на Android испытывает такое же поведение.
Это поведение не имеет ничего общего с рекламой. Веб-сайт загружает протокол (например, URL-адрес, CALLTO и т. д.), который браузер затем передает действию по умолчанию в системе (Android/iOS/и т. д.). Запретите браузеру что-либо делать с этим протоколом (или не с помощью средств JS/без запроса) или остановите ассоциацию ОС между протоколом и действием (хотя последнее отключит другие приложения, использующие те же функции, от запуска магазина приложений), и проблема заключается в следующем. решено.

Вам не нужен root, чтобы остановить это мертвым на своем пути.

adblockplus.org

В плей маркете нет. Это 100% бесплатно и работает безупречно. Имеет несколько вариантов. Возможность заблокировать всю рекламу или только такие, как эти надоедливые перенаправления, о которых мы говорим здесь.

И это проблема безопасности браузера, а не проблема ОС Android.

Хорошая ссылка для нерутированных устройств. +1
Это проблема ОС Android. -1
Как разработчик Android, который выпускает приложения, поддерживаемые рекламой, я никогда не буду поддерживать приложения AdBlock на Android. Они крадут доход от разработчиков, поэтому их не пускают в магазин игр.
Подходит для разработчиков. По умолчанию настроена блокировка только навязчивой рекламы, подобной обсуждаемой здесь. Я использую его только для блокировки навязчивой рекламы. И полноэкранная реклама, которая пытается взломать кран. Мне жаль, если вы разработчик, который использует такие методы рекламы в своих программных приложениях, но я никогда не изменю своих убеждений.
@RyanConrad Я согласен с рекламой в принципе, но как разработчик, вы действительно думаете, что кто-то, кто сейчас читает статью на FB о (забавных котиках/txts/что угодно), на самом деле будет доволен своим принудительным перенаправлением в плеймаркет посередине чтения? Затем они должны вернуться и попытаться найти, где они были, и надеяться, что их снова не выкинут... как вы думаете, кто-нибудь из этих людей действительно будет в хорошем настроении, чтобы загрузить приложение батареи или игру F2P? Помните, что это не реклама на традиционной веб-странице.
Точно. @ Бен-Джамин. И Adblockplus делает именно это. Это вовсе не «ворует доход», как упомянул Райан Конрад. Он просто останавливает навязчивую рекламу. Нажмите попытки взлома. И если ваш разработчик использует такие порочные методы рекламы для получения дохода, вы должны быть расстреляны. И причина, по которой у Google нет программного обеспечения для блокировки рекламы в магазине игр, заключается в том, что оно идет вразрез со всем, чем Google занимается. Как вы думаете, откуда взялся Google. LOL. Без рекламы Google ничто. Реклама является основным источником дохода Google. Google всегда был виноват в такой рекламе в Интернете. Неплохая вещь.
@RyanConrad Я доволен рекламой, проблема не в ней. Проблема в рекламных сценариях, которые останавливают просмотр, вибрируют телефон, вызывают диалоговое окно, а затем перенаправляют меня в магазин приложений. Я хочу поддержать разработчиков, использующих модель с поддержкой рекламы, я это делаю, но с безудержной рекламой у меня действительно нет другого выбора. Эти темные паттерны должны работать для некоторых плохих обманов, которые заканчиваются установленным вредоносным ПО, но для меня любое приложение, рекламируемое мне с таким сценарием, гарантирует, что я никогда не установлю его, и предупрежу своих друзей об этом. Android должен закрыть дыру в безопасности.
@HasH_BrowN - это НЕ проблема ОС. Установите или спроектируйте браузер так, чтобы он ничего не делал с протоколом «магазина приложений», и ОС никогда не узнает, что запрос существовал. Если вы видите возможность щелкнуть ссылку в электронном письме, каком-либо другом приложении или на веб-сайте и просто вывести ее на информационную страницу в магазине приложений как проблему с ОС, то это может быть точкой.