Comments 66
Но теперь озадачился — надо посмотреть сутки-двое куда обращается телефон с включенным OpenVPN.
Ну и многим людям просе скачать приложушечку, которая позволит ходить на запрещенный сайт (к примеру), чем думать и искать VPN-сервер
А во вторых — приложушечка OpenVPN слишком сложна для среднестатистического пользователя, который хочет зайти на заблокированный порносайт. Это ведь надо найти где-то openvpn сервер (желательно бесплатный) или установить свой (а мы говорим о пользователе, а не IT-шнике), что опять же не бесплатно. Потом написать файл конфигурации для клиента.
А можно просто скачать приложушечку «VPN до всех порносайтов без регистрации и смс» и не думать. И среднестатистический пользователь, скорее всего, выберет второе.
а зачем ставить сторонний VPNПроблема в статье не об этом. А о том, что простая игрушка с разрешением на VPN может открыть туннель, и весь трафик польётся через приложение.
Некоторые приложения используют эту функцию для обхода государственной цензуры, обеспечения анонимности — здесь VPN вполне уместен.Всё же основное назначение VPN — создание сетевого соединения, защищённого от злоумышленников, а не обход цензуры или анонимность. Не забывайте это упоминать, а то чиновники скоро будут на Хабр ссылаться в качестве подтверждения того, что VPN — инструмент террористов. Они же считают, что законопослушным гражданам обходить цензуру не нужно, да.
Обращаешь, но сейчас почти каждое приложение-фонарик просит разрешение на все. В противном случае отказывается работать
Настоящий пример — приложение банка. Просит все — от изменения хранилища, до отправки и изменения контактов. Естественно я приложением стараюсь не пользоваться, но когда уезжаешь на какую то неделю, и ноута с собой нет, то приходиться качать эту срань (пополнить мобильный счет и т.д.)
А если раз в эту лужу вступил, то потом уже можно не удалять…
Немного ниже уже описал. В теории есть, но мобильной версии сайта нет, грузятся тонны баннеров, скриптов и прочие фейерверки. Банк считает, что если есть приложение, то сайт с приставкой m.* не нужен. Такие дела
Тут готов поспорить. Лучше открыть удобный сайт, чем загромождать телефон третьим десятком приложений. С таким успехом любой сайт будет писать себе приложение, и тогда будет жестяная жесть.
Второй случай — невозможность зайти в гуглплей (Китай с его фаерволом)
P.S. очень рад, что комменты можно писать уже с мобильной версии
Даже если чудом такой сайт удастся загрузить, то внутри постоянно что-то будет ломаться, потому что отправка какого-нибудь гигантского Redux дерева будет обламываться по таймауту, а разработчики этой ситуации не предусмотрели, т.к. тестируют все в 10Гбит локальной сети, где бандлы с React'ом даже при размере близком к гигабайтному, грузятся незаметно, и можно туда-сюда гонять XMLHttpRequest'ы с мегабайтными блобами. :(
На самом деле, это не проблема Web 3.0/React/Redux. Эта проблема растет из прямиком из Web 1.0 с серверной генерацией страниц, а Web 3.0 ее как раз бы мог решить… если бы люди не писали по-старому.
Ну нет в нормальном приложении необходимости отправлять куда-нибудь гигантское redux-дерево. Его отправляют потому что так проще, а не потому что так нужно.
Открывается страница входа в банк. Грузится бандл размером в сотни мегабайт по Edge или чему-то такому. Грузится десятки минут. В итоге, либо пользователь не может понять, действительно происходит загрузка или все «зависло», либо срабатывает какой-нибудь таймаут на сервере, либо в браузере, либо в сетевом стеке. Долбаный гигантский бандл не загрузился.
Пользователь жмет Reload. Та же история повторяется сначала: гигантский файл начинает грузиться с самого начала, ни кэширование, ни продолжение загрузки обычно не работает.
Кроме этого еще грузится тонна CSS (ну ладно, они маленькие), и еще куча кастомных шрифтов (ну как же, без них ведь все будет некрасиво!)
Допустим, все это загрузилось спустя 1-2 часа отчаянных попыток. Вводим имя пользователя и пароль, открывается новая страница (у некоторых банков это именно отдельная новая страница), на которой надо ввести одноразовый код… Начинают загружаться то ли новые бандлы, то ли перезагружаться старые… Пока все это происходит, одноразовый код протухает.
Back to square one.
А самое главное, даже если все загрузилось, разработчики не тестируют сейчас работу приложений на медленных соединениях. Код всех современных сайтов оперирует предположениями типа того, что если мы выполнили
1) XMLHttpRequestA
2) XMLHttpRequestB
То они дадут результат именно в том порядке, в котором были вызваны. И не будет ошибок сети или таймаутов.
В итоге, на соединении типа Edge все эти предположения не выполняются, и сайт в лучшем случае работает очень странно. В худшем, им вообще пользоваться невозможно.
Как раз в Web 1.0 не было ни одной из этих проблем. Все кэшировалось, не было параллельных запросов в backround, и т.д. и т.п. Медленно, но все работало.
На порядок XMLHttpRequest никто никогда не закладывается, потому что они могут прийти в другом порядке даже на компьютере разработчика.
Куда хуже отсутствие обработки ошибок, когда обрыв запроса по тайм-ауту оставляет программу в таков состоянии, из которого нельзя сделать повторный запрос.
Что же до Web 1.0 — вы уже забыли про такую чудесную вещь как ASP.NET WebForms с его ViewState и одной формой на всю страницу? Когда на странице, допустим, таблица на мегабайт данных — а еще один мегабайт лежит в hidden-поле и отправляется на сервер при нажатии на любую кнопку? :)
Пользователям теперь нужен как минимум очень быстрый канал, быстрый компьютер (потому что все это работает медленно и пожирает большое количество ресурсов процессора и памяти). Ничто в современном web не кэшируется. Разве что может быть картинки. В глуши с медленным интернетом делать совершенно нечего. Там можно пользоваться лишь Web-1.0 сайтами. К счастью, таковых все еще много.
Разработчики должны разбираться в невообразимо быстро сменяющемся лабиринте фреймворков и версий. Angular — плохо, React хорошо. А теперь добавим к уравнению Angular 2. А теперь React + Redux. А теперь Vue. А вот вам ES6. Ой, через месяц он уже устарел. А мы пишем на TypeScript. А мы на CoffeeScript. А мы используем babel. А мы lebab. Все это производит впечатление какого-то сплошного непрерывного бега, когда едва ли не раз в месяц происходит радикальная смена всего инструментария. Какая-то невероятная фрагментация вызванная непонятно чем.
Про ASP помню. К счастью, он всегда был настолько мало распространен, что лично мне ни разу не приходилось сталкиваться. С этими сайтами сталкивался лишь несколько раз в жизни.
Суть в том, что современными сайтами пользоваться невозможно на медленном соединении. Неважно, какие причины.
Суть в том, что вы обвиняете конкретный стек технологий, в то время как проблема присуща любым сайтам, где доступность на телефонах не ставилась как задача разработчикам.
На старые сайты вы можете зайти не потому что они так хорошо сделаны — а потому что интернет на вашем телефоне быстрее, чем на компьютерах тогдашних разработчиков.
Я, например, уже знаю, что за границей, или в дальней поездке на мото/авто пытаться открыть сайт банка не получится — был уже очень горький опыт, когда срочно надо было сделать перевод, и я промучился 1,5 часа, но так и не смог войти в свой банк. Поэтому планирую все так, чтобы не попасть больше в подобную ситуацию — заранее оплачиваю телефон перед поездкой, например.
Впрочем, я и приложениями банков пользуюсь — что толку что-то скрывать от них, банк и так обо мне почти все знает: мой адрес, телефон, доходы и расходы, где, когда и на что я трачу деньги. Ничего нового они обо мне не узнают.
Ресурсы и время на написание стремного приложения банк выделяет регулярно, а вот сделать хоть намек на адекватный сайт для слабых каналов один раз — некогда, выходит
>заранее оплачиваю телефон перед поездкой, например
Во-первых речь не только о пополнении телефона, а во-вторых роуминг штука штука непредсказуемая, и деньги могут закончиться в любой момент, а забрасывать 100500 долларов на телефон «чтобы хватило» тоже не выход
Но всем не напишешь, сталкивался с подобными проблемами еще на нескольких сайтах.
Это вообще стало общей тенденцией, которая заметна при использовании мобильного интернета, так как он медленный и часто тарифицируется по трафику. Несмотря на то, что постоянно читаю статьи о том, как React и иже с ним упрощает всем жизнь, и все выигрывают от новых технологий client-side javascript, сайты становятся все раздутее, загружаются все медленнее, на мобильном интернете пользоваться ими становится все сложнее, и счета за трафик растут.
Посмотрите тот же вотс ап — там ужас… Хотя, казалось бы, обычный мессенджер
ES проводник — #Полные разрешения ко всем функциям устройства и хранения
Вотс ап — просит запись аудио, к примеру, но использует ли он его только на отправку голосовых сообщений вопрос риторический. На счет изменения контактов спорный пункт. Прочитать контакты ладно, но изменять их ему зачем?
Менеджер может и решение, но сам то он просит не такой же список полномочий?
У меня тоже аллергия, поэтому и согласен. Но кто знает чем может закончиться слив инфы американцам… Завтра подпишут кибер-соглашение, и будет вся жизнь на виду, даже если ничего плохого и не делаешь
В ios ничего не надо разрешать при установке, все запрещено
При первом обращении к камере (чтобы считать номер карты например) или контактам спрашивается разрешение и можно отказаться, ничего не ломается от отказа, базовый функционал остается доступен
Была информация что в какой то версии андроида что-то подобное появилось
Новая система запроса полномочий не работает со старым софтом. Это значит, что если приложение не было собрано для Android 6.0 и выше (targetSdkVersion=23), то оно вообще не будет запрашивать полномочия у пользователя для получения доступа к нужным функциям. То есть все будет ровно так, как и было до версии 6.0. А самое главное, что возможность собрать приложение с targetSdkVersion ниже 23 никуда не делась (и не денется в ближайшие годы), любой желающий может скачать самую свежую Android Studio и собрать с ее помощью приложение для Android 5.1, которое будет прекрасно работать в Android 6/7 и не требовать от пользователя подтвердить свои полномочия.источник
Ну и, конечно, менеджер прав, в сегодняшнем мире штука совершенно необходимая.
И кстати про WhatsApp — когда-то в нем была возможность (я сам не видел, но читал в древних летописях) внести контакт вручную, не давая доступа ко всей записной книжке скопом. Потом выпилили. Разумеется, по многочисленным просьбам.
А в Signal такая возможность есть.
«Всегда обращайте внимание на разрешения приложений, которые вы скачиваете, — говорит профессор Дали Каафар.Но этого недостаточно. Надо еще понимать, что то или иное разрешение означает. Например, «безобидное» «Данные о Wi-Fi-подключении». Позволяет идентифицировать вас по MAC адресу. Заодно узнать MAC адреса других устройств в локальной сети. Ну и так далее. Про другие, более «страшные» разрешения вы и так знаете.
Например, такой туповатый вопрос: если у меня на телефоне стоит почтовый клиент (гугл, яндекс, мейл.ру, что угодно) с залогиненной почтой, то может ли стороннее приложение, которому разрешено читать аккаунты, прочитать почту? Или пусть даже не саму почту, то хотя бы имена почтовых ящиков?
Как VPN-клиенты под Android шпионят за пользователями