- 1
- 2
- 3
«Ростелеком», а с ним и кучка проводных операторов поменьше,
внаглую редиректит *.js запросы на скрипты рекламной говноконторки,
принадлежащей сыну министра МВД.
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+2
«Ростелеком», а с ним и кучка проводных операторов поменьше,
внаглую редиректит *.js запросы на скрипты рекламной говноконторки,
принадлежащей сыну министра МВД.
https://habr.com/ru/post/489528/
gost 24.02.2020 03:31 # 0
Так вот именно поэтому!
В наш благословенный 2020 год, если владельца сайта хоть чуть-чуть волнуют проблемы посетителей — на сайте в обязательном порядке должен стоять «HTTPS» с «HSTS».
guest8 24.02.2020 03:37 # −999
3.14159265 24.02.2020 03:57 # +1
И урл на либы поставлен http.
gost 24.02.2020 04:02 # 0
3.14159265 24.02.2020 04:03 # 0
gost 24.02.2020 04:06 # +1
К тому же, это не либа, а API «Карт». Загружать его с серверов «Гугла» — абсолютно естественно.
3.14159265 24.02.2020 04:00 # +1
Надо проявлять м-м-м-максимум-м-м паранойи.
Хотите запускать на моей машине минифицированные js?
1. Публикуйте исходники, если js минифицирован.
2. js должен быть подписан сертификатом, как любой другой исполняемый файл, скачиваемый из инета.
3. Если предлагаемым js не швабодный GPL — идите нахуй со своим сайтом.
А вообще js — зло. Потому я за «Lупх»
gost 24.02.2020 04:05 # 0
> Публикуйте исходники, если js минифицирован.
Подтверждаю.
> js должен быть подписан сертификатом, как любой другой исполняемый файл, скачиваемый из инета.
Считаю избыточным. Если js скачивается с собственного сервера по «HTTPS» — он уже подписан сертификатом владельца сайта.
3.14159265 24.02.2020 04:08 # 0
Речь о том, что хочется подгружать со левых доменов и выполнять только те js которые апрувнуты коммьюнити или доверенной третьей стороной.
gost 24.02.2020 04:15 # 0
А, ну так эта проблема решается чисто на клиенте: достаточно хранить списки хэшей скриптов, которые аппрувнуло коммьюнити/третья сторона, и проверять их простым расширением браузера.
3.14159265 24.02.2020 04:19 # +1
Но оно работает по хостам: доверенный/нет. Даже такая простая проверка сильно сужает круг выполняемого говна.
Правда надо часто руками добавлять в белый список.
>Но в этом случае сайт со всеми данными пользователей становится полностью скомпроментированным
Ну допустим вставили скрипт с рекламой. Рекламодатель в какой-то момент его проапдейтил решил помайнить.
А настоящая паранойя это
https://en.wikipedia.org/wiki/GNU_LibreJS
>In general, most Google services require the execution of non-free JavaScript code. If you refuse to do so (for example, by running LibreJS), you will see that you will not be able to use these services.
Кстати, то что гугл выполняет мегабайты, десятки мегабайт обфусцированного жс, по сути ничуть не лучше проприетарных программ мелкософта и эппла.
gost 24.02.2020 04:34 # +1
Кстати, ещё есть расширение «uMatrix», которое может блокировать кросс-доменные запросы для любых типов контента (скрипты, стили, айфреймы, изображения, etc) и вообще обладает массой плюшек (в частности, блочит богомерзкий «Referer»).
> Рекламодатель в какой-то момент его проапдейтил решил помайнить.
Да, это риски загрузки чужих скриптов. С другой стороны, если рекламодатель захочет — он вполне может, например, запустить заапрувленный майнер-скрипт, предназначенный для легального майнинга. Или вообще купить у «третьей стороны» сертификат на скрытный майнер, благо сейчас серьёзная малварь распространяется во вполне себе подписанных экзешниках — и всем похуй.
Ну и да, списки хэшей эти проблемы эффективно решают.
1. Они не требуют никаких действий от администраторов сайтов, что крайне сильно ускорит переход на такой стандарт (большинство админов — ленивые хуйлы, которые за столько лет даже на элементарный «HTTPS» перейти не могут).
2. Они полностью прозрачны: список всегда доступен для изучения любому желающему. А какие сертификаты и кому выдаёт «третья сторона» — одной ей ведомо.
3. Они легко редактируются. Из них можно по своему усмотрению убирать произвольные скрипты, можно организовывать пользовательские подсписки (например, список только из максимально тщательно проверенных скриптов для последователей Столлмана).
4. Пользователь может в любой момент добавить проверенные им лично скрипты. Настраиваем такой список для любимого сайта — и вуаля, если какие-то байтики в его скриптах поменяются — пользователь об этом мгновенно узнает.
guest8 24.02.2020 05:20 # −999
gost 24.02.2020 05:30 # +1
О, совсем забыл про неё. Крутая штука, на самом деле, и исключает кейс «рекламодателю захотелось помайнить» (хотя не факт, конечно, что рекламодатель будет отдавать статичный файл…).
Но вообще я имел в виду простой реестр запрещённых сайтов хешей скриптов, проверенных каким-либо сообществом. Если хэш загружаемого скрипта найден в реестре — он исполняется, если нет — блокируется/предлагается пользователю на рассмотрение.
gost 24.02.2020 05:35 # 0
https://habr.com/post/350472/. От 2018-го года, правда.
guest8 24.02.2020 05:45 # −999
gost 24.02.2020 05:53 # +2
Насчёт антивирей — не знаю, а обычные песочницы (без эмулирования) драйвером перехватывают все опасные вызовы (см. https://docs.microsoft.com/en-us/windows-hardware/drivers/kernel/filter-drivers).
Я, кстати, как-то в приступе паранойи написал user-mode песочницу, на старте процесса внедряющую в него свою дллку и перехватывающую все файловые функции из ntdll. В результате запущенный процесс, не наученный обходить такие вещи (а это легко, на самом деле — просто надо дёргать сисколлы… или прочитать ntdll.dll и восстановить исходные мышиные коды перехваченных функций), видит просто диск C, на котором кроме папки «Windows» (и ещё парочки системных) больше ровным счётом ничего нет. Причём я там ещё сделал гибкую настройку каталогов и разрешения а-ля прыщи: на чтение, на запись и на выполнение.
Самая лулзная часть была в коде внедрения дллки в дочерние процессы, создаваемые «подпесочным» процессом. С учётом того, что это могут быть исполняемые файлы любой разрядности (x64 запускает x32, x32 запускает x64, etc. — для каждой пары своё поведение), мне там пришлось говнокодить универсальный шеллкод, лол.
HoBorogHuu_nemyx 24.02.2020 07:25 # 0
gost 24.02.2020 16:28 # 0
guest8 24.02.2020 20:08 # −999
gost 24.02.2020 04:36 # +1
bormand 24.02.2020 08:55 # 0
3.14159265 24.02.2020 13:39 # 0
bormand 25.02.2020 00:50 # +1
guest8 24.02.2020 04:10 # −999
3.14159265 24.02.2020 04:11 # +4
>вот блядь еще засталвять пользователя качать 100500 файлов с левых сайтов
+100500
Я и грю что хуйня какая-то нищебродская, для экономии траффика.
Вдруг cdn сайт запрещён прокси.
Украина хуйнула яндекс, а кто-то jquery оттуда таскал.
Или админ в сети поставил лочку на развлекушные сайты, и случайно задел CDN.
gost 24.02.2020 04:16 # 0
А вот если хочется отдавать много статики (видео, много фото), или делать это быстро — тут-то «CDN» и нужен.
guest8 24.02.2020 05:21 # −999
1024-- 24.02.2020 10:49 # +3
HoBorogHuu_nemyx 24.02.2020 12:59 # +1
Fike 24.02.2020 14:09 # 0
HoBorogHuu_nemyx 24.02.2020 07:31 # 0
Я для этой цели даже форкнул и допилил «bundle-phu» (всё руки не дойдут выложить свой форк на «Гитхаб»), который в свою очередь является портом с «Руби» на «PHP» пакета «bundle-fu»:
https://github.com/hobodave/bundle-phu
Одним мумифицированным пакетом пользователь получает быстрее, чем в виде 100500 отдельных CSS и JS.
Кстати, «bundle-phu»/«bundle-fu» в настройках можно скормить препроцессор типа «LESS»/«SASS» или «babel» или какой-нибудь «autoprefixer».
1024-- 24.02.2020 10:53 # 0
> швабодный
Питушня. Никто не будет читать швабодные ишходники.
Надо укреплять песочницу и читать её исходники.
И чтоб в песочнице можно было грабить корованы давать разрешение на порчу не только своих папок, но и подставных (такой питушни очень не хватает в ведроиде. можно только дать поганить реальные питушни, но нельзя подсунуть фейковые).
3.14159265 24.02.2020 13:41 # +1
А потом в CPU найдут очередной Milfdown и выяснится что песочница построена из песка.
>Никто не будет читать швабодные ишходники.
99.9% не будут. А кто-то может заинтересуется и забьёт тревогу.
1024-- 24.02.2020 14:44 # 0
gost 24.02.2020 16:32 # +1
1024-- 24.02.2020 22:48 # 0
А то в текущей реализации в почте тормозит старая анимация конвертика и на видеопитухе - разворот на полный экран. Если не ставить адблок, производительность жрут флешки с рекламой.
Оно всё жрёт, а ты никак не можешь ограничить. Смартфон быстро сдыхает, ноутбук раскаляется, пека греет комнату.
Фингерпринты правильная пейсочница может подпортить.
В любом случае, пейсочница будет более выгодным вариантом, чем просмотр исходников, а в идеале нужно их скобенировать. Чаще всего, если сайт обещает что-то полезное, его скрипты выполнят (как сейчас отключают антивирус и выполняют какую-то питушню). Песочница позволит снизить риск.
gost 24.02.2020 22:57 # +3
Ограничения мощности — это полумеры, да ещё и могущие затормозить какие-нибудь «Гуглопочты» (которые говно).
Пейсочница может попытаться испортить фингерпринты, но разные ушлые уроды всегда найдут уникальные битики.
Но да, в любом случае пейсочница нужна и важна. Просто панацеей она не является.
1024-- 25.02.2020 00:10 # 0
> Ограничения мощности — это полумеры, да ещё и могущие затормозить какие-нибудь «Гуглопочты» (которые говно)
Запретить/разрешить - дело хорошее, но не очень удобно.
Я уже писал про то, как в андроиде (а параллельно - в хромофоксах) можно либо дать разрешение на питушню, либо не дать. И нет варианта "разрешить срать в подставной песочнице" или "разрешить чуть-чуть подсирать". И это очень мешает. Если приложению нужно читать твои личные файлы и папки, почему бы не отдать ему пустую подставную, или если ему нужно крутить питушню в процессоре, почему бы не дать ему 10% мощности одного ядра?
Ограничение мощности - крайне полезная фича. Пусть лучше почта потормозит во вкладке, чем у меня из-за неё будет перегрев, либо тормозит не-почта от недостатка ресурсов. Или же наоборот я могу выдать почте больше ресурсов, а всем остальным поставить по минимуму.
Ещё хорошо бы и трафик ограничивать и т.п.
3.14159265 25.02.2020 00:45 # +1
Ну и гуй с ними.
Там же есть html-версия.
>надо просто запретить сайтам выполнять JS [...] без явного разрешения пользователя.
fixed
phpBidlokoder2 24.02.2020 12:30 # 0
Her 24.02.2020 14:46 # −1
kak 24.02.2020 17:34 # −1
> какой-то плагин
> плагин
Какой вебмакак )))