LINUX.ORG.RU

безопасность расширений хрома.

 , ,


0

1

Смотрю щас документацию по сабжу. Есть такая забавная штука — контент-скрипты. Эти скрипты исполняются в контексте целевой страницы, имеют полный доступ к DOM, но не имеют доступа к JS этой страницы. Хз, почему они это сделали ,но вот что забавно. Делаем вот так

eval(document.querySelector("script").innerHTML)
И все, уже имеем доступ к JS. Это, правда, не касается подключенных скриптов, типа <script src="foo.js"></script>. Это, тащемта, говорит в пользу того, что внешние скрипты использовать немного безопасней, в общем случае:)

ЗЫ правда, вот такой способ в этом случае работает

src = document.querySelector("script").getAttribute("src")

with(new XMLHttpRequest){
   open("GET", src, false) 
   send(null)
   if(status == 200) eval(responseText)
}

Собственно, вопрос: а почему они, собственно ограничили доступ к JS? что может быть? Какие дыры, конкретно?



Последнее исправление: sadlinuxoid (всего исправлений: 3)

Что ты имеешь в виду под доступом к JS? Свалку в глобальном неймспейсе? Это ж ад для разработчика.

eval

Забудь эту функцию.

x3al ★★★★★
()
Ответ на: комментарий от x3al

Что ты имеешь в виду под доступом к JS? Свалку в глобальном неймспейсе?

Разработчик и сам может оградить себя от него, дело, видимо, в другом все таки.

sadlinuxoid
() автор топика
Ответ на: комментарий от sadlinuxoid

Разработчик и сам может оградить себя от него

А может и забыть это сделать. Кроме того, это сложнее. Отдельный неймспейс гораздо лучше.

А так ведь если контент-скрипт хочет, он может встроить в страницу свой <script> и его содержимое будет уже в глобальном контексте.

proud_anon ★★★★★
()
Ответ на: комментарий от proud_anon

А так ведь если контент-скрипт хочет, он может встроить в страницу свой <script> и его содержимое будет уже в глобальном контексте

Не будет

sadlinuxoid
() автор топика
Ответ на: комментарий от sadlinuxoid

Будешь умничать — схватишь от другого умника, который подменит те функции, о которых ты забудешь. Будет весело :}

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.