Comments 25
Мне кажется, или при внедрении такой политики безопасности, уйдут в историю некоторые блокираторы рекламы? Так же что делать с локальными файлами, подключаемыми расширениями?
+2
Блокираторы рекламы работают прежде всего для той рекламы, которую ставят владельцы сайтов.
Сами владельцы сайтов…
Сами владельцы сайтов…
0
Я не против если на странице что то блокируется, но вот добавлять новое без ведома владельца, или тем более передавать с нее данные, если владелец на прямую запрещает, уже немного нарушает безопасность. Разумеется по моему мнению.
0
Сомневаюсь, что можно придумать какую-нибудь реализацию политики работы расширений, с помощью которой можно было бы только удалять информацию со страницы сайта, но не добавлять. Что-то вроде такой ситуации: appendChild не доступен, зато removeChild — пожалуйста. Да и вообще, попахивает бредом немножко: вся суть расширений сведётся на нет :)
И потом, у расширений есть страница background, которая вообще не имеет никакого отношения к открытым страницам в браузере. Зато эта фоновая страница имеет доступ к скриптам content_script (и наоборот). Через фоновую страницу можно сделать любой ajax-запрос, а потом переслать информацию в content_script, который имеет доступ к необходимой странице (в частности, к DOM). В этом случае мы де-факто политику безопасности не нарушаем: с самой страницы никаких запросов не идёт.
Контроль расширений идёт именно при установке: выдача прав (указанных в «permissions») конечным пользователем.
И потом, у расширений есть страница background, которая вообще не имеет никакого отношения к открытым страницам в браузере. Зато эта фоновая страница имеет доступ к скриптам content_script (и наоборот). Через фоновую страницу можно сделать любой ajax-запрос, а потом переслать информацию в content_script, который имеет доступ к необходимой странице (в частности, к DOM). В этом случае мы де-факто политику безопасности не нарушаем: с самой страницы никаких запросов не идёт.
Контроль расширений идёт именно при установке: выдача прав (указанных в «permissions») конечным пользователем.
+1
Если запретят, я перейду на другой браузер. браузер мой и я могу делать со скаченым контентом всё что хочу.
0
Мое мнение таково, что если ресурс сообщает браузеру политику поведения с полученной страницей, то эта политика должна быть абсолютной, и распространяться на всё, в том числе и расширения, а как вы считаете?Я не согласен — если я поставил расширение, которое что-то делает со страницей, я не хочу, чтобы эта страница говорила мне что я могу делать, а что нет. Это мой браузер, я в нём царь и бог и никакие CSP мне не указ.
Вопрос с чистоплотностью создателей расширений, разумеется, остаётся открытым.
+12
Я поясню почему именно вредоносное: добавлялась реклама сомнительных товаров, со ссылками на еще более сомнительные сайты, к тому же, мне к сожалению неизвестно, собирало ли расширение какие-то данные о посещенных мною страницах, и если собирало, то какие, ведь с тем же успехом они могли собирать информацию из форм или просто из посещаемых мною страниц.
так написано, будто речь про Яндекс.Советник
0
Сейчас на руках нету примера кода, но вообще расширения хрома могут не только просматривать хедеры, но так же редактировать их любым образом(т.е. CSP хедер можно просто удалить)
+1
Интересная информация, нужно будет попробовать
0
https://developer.chrome.com/extensions/webRequest — документация по входящим/исходящим хедерам
Пример удаления csp:
Пример удаления csp:
chrome.webRequest.onHeadersReceived.addListener(function(details) {
for (var i = 0; i < details.responseHeaders.length; i++) {
if ('content-security-policy' === details.responseHeaders[i].name.toLowerCase()) {
details.responseHeaders[i].value = '';
}
}
return {
responseHeaders: details.responseHeaders
};
}, { urls: ["*://*/*"], types: ["main_frame", "sub_frame"]}, ["blocking", "responseHeaders"]);
0
Если память не изменяет, то можно модифицировать хэдеры запроса браузера, но не ответа от сервера.
Тот же AdBlock, вроде как, перехватывает запрос и если срабатывает фильтр, то блокирует его.
Хотя могу ошибаться, ибо глубоко не копал.
Тот же AdBlock, вроде как, перехватывает запрос и если срабатывает фильтр, то блокирует его.
Хотя могу ошибаться, ибо глубоко не копал.
0
Или подменить, например для нашего аппа это необходимо что бы заблочить весь js-код и отменить загрузку js- файлов, кроме тех что мы сами добавим, но у нас не расширение а app. Страница на которой подменяются хэдеры лежит в webview и от аппа изолирована.
0
яндекс советник обходит csp для показа своих предложений. вставляет div c ссылкой. если политики лояльные, то к диву js добавляется. еще не все его запросы в network отображаются.
0
Наличие unsafe eval в директивах CSP в принципе сводит на нет всю идею.
0
>Мое мнение таково, что если ресурс сообщает браузеру политику поведения с полученной страницей, то эта политика должна быть абсолютной, и распространяться на всё, в том числе и расширения, а как вы считаете?
И как тогда должен работать например Evernote WebClipper? Он же правит DOM (для выделения, для показа своих меню) (запускается правда только по команде пользователя)
Или например — разнообразные расширения для скачивания видео? (или это прикроем под видом того что если бы владелец сайта хотел — он бы разрешил? )
Браузер у нас собственно на чьем железе и в интересах кого работает? Пользователя. И если пользователь поставил расширение которое нарушает CSP… ну значит так надо.
Вот предупреждение при установке что расширение может делать и это (так же как в Хроме расширения пишут например что нужен доступ к сайту X или вообще ко всем сайтам) может быть и имеет смысл.
И разумеется ситуации когда расширение ставится без ведома и желания пользователя надо давить. (то что пользователь не заметил замаскированной галочки — это не согласие).
И как тогда должен работать например Evernote WebClipper? Он же правит DOM (для выделения, для показа своих меню) (запускается правда только по команде пользователя)
Или например — разнообразные расширения для скачивания видео? (или это прикроем под видом того что если бы владелец сайта хотел — он бы разрешил? )
Браузер у нас собственно на чьем железе и в интересах кого работает? Пользователя. И если пользователь поставил расширение которое нарушает CSP… ну значит так надо.
Вот предупреждение при установке что расширение может делать и это (так же как в Хроме расширения пишут например что нужен доступ к сайту X или вообще ко всем сайтам) может быть и имеет смысл.
И разумеется ситуации когда расширение ставится без ведома и желания пользователя надо давить. (то что пользователь не заметил замаскированной галочки — это не согласие).
0
UFO just landed and posted this here
* Пользуюсь случаем, передаю привет ТМ, которые считают, что читатели Хабра — люди второго сорта, которые должны страдать от некликабельных ссылок.
так «оберегаются» пользователи от потенциальных троллей.
0
я ссылка
разметка для кого существует?(промазал уровнем)
0
UFO just landed and posted this here
Логика ТМ в другом — если карма ниже нуля, то чел нехороший и скорее всего, даст нехорошую ссылку, по которой кликать лучше не надо даже случайно, а если очень надо — то можно выделить и вставить ручками.
Но, как правило, отрицательная карма не у троллей, а просто у тех многих, чье мнение не совпадает с мнением «избранных», причем достаточно одного необдуманного комментария, чтобы карма улетело в неподъемный минус. Следовательно, хорошо бы ТМ пересмотреть еще раз вопросы кармы и возможностей форматирования при ее «задолженности».
Но, как правило, отрицательная карма не у троллей, а просто у тех многих, чье мнение не совпадает с мнением «избранных», причем достаточно одного необдуманного комментария, чтобы карма улетело в неподъемный минус. Следовательно, хорошо бы ТМ пересмотреть еще раз вопросы кармы и возможностей форматирования при ее «задолженности».
0
На самом деле, все довольно очевидно. Эта самая политика, если не ошибаюсь, нужна только для того, чтобы ограничивать поведение подключаемых скриптов. Допустим, если вы подключите какую-то библиотеку, то при правильной настройке CSP вам можно будет не беспокоиться, что эта библиотека будет творить какие-нибудь гадости, например, засыпать HTTP-запросами сайт человека, которого невзлюбил автор библиотеки.
Расширения для браузеров стоят уровнем выше. Дело в том, что когда вы устанавливаете расширение, вам говорят, что оно может читать и модифицировать контент страницы https://music.yandex.ua/*. Это правило абсолютно, оно позволяет даже обходить CORS. Соглашаясь с этим, вы должны осознавать последствия, которые могут быть, если разработчик расширения внезапно лишится совести.
Расширения для браузеров стоят уровнем выше. Дело в том, что когда вы устанавливаете расширение, вам говорят, что оно может читать и модифицировать контент страницы https://music.yandex.ua/*. Это правило абсолютно, оно позволяет даже обходить CORS. Соглашаясь с этим, вы должны осознавать последствия, которые могут быть, если разработчик расширения внезапно лишится совести.
0
Например всякие savefrom net, который до сих пор можно установить (но не из каталога расширений, а с сайта разработчика), на сайтах магазинов и всяких яндекс.маркетов наверху страницы вставляет блок с таргетированной рекламой и предложением купить этот же товар на eBay или еще где, по более низкой цене.
Да и в каталоге расширений, если поискать то можно найти много расширений, которые что-то непонятное делают с браузером, особенно это касается расширений с играми (всякие моды для браузерных игр).
Да и в каталоге расширений, если поискать то можно найти много расширений, которые что-то непонятное делают с браузером, особенно это касается расширений с играми (всякие моды для браузерных игр).
0
Sign up to leave a comment.
Обход CSP при помощи расширений Google Chrome