Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.09.2013, 00:37
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

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

В частности, скрипт в песочнице не должен ни при каких условиях получить доступ к глобальному объекту window, либо к иному объекту, окромя специально переданных.

Пока получилась такая версия: http://jsfiddle.net/EyZD6/7/
Скрипт для песочницы - в script#sandbox

Посмотрите, как можно выбраться из такой песочницы, и как ее можно улучшить, чтобы предотвратить способы выбраться.

PS Из-за вмешательства в Function.prototype для механизма песочницы нужно выделить отдельный фрейм, в котором можно запускать неограниченное число недоверенных скриптов.
Ответить с цитированием
  #2 (permalink)  
Старый 15.09.2013, 11:49
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

А почему нельзя поместить чужой код в отдельный поток? А для операций с документом можно использовать сообщения с главным потоком, где и проверять права.
__________________
kobezzza
code monkey
Ответить с цитированием
  #3 (permalink)  
Старый 15.09.2013, 12:17
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

И то верно, так гораздо проще.

Но тогда с этим потоком придется общаться исключительно сообщениями.
Интересен все-таки вариант, когда из этого кода можно получить объект модуля, или другие, и использовать их.
Что-то вроде модулей vm/contextify для NodeJS
Ответить с цитированием
  #4 (permalink)  
Старый 17.10.2013, 00:54
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

UP!
Хотелось бы еще мнений, по поводу скрипта, его доработки и обхода
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Возможен ли Запуск ява-скрипт при откате Истории в браузере назад ? Deff Общие вопросы Javascript 13 27.05.2012 01:00
Открытие сайта в новом браузере Няшка Общие вопросы Javascript 3 30.04.2012 13:47
Восстановление hidden field при нажатии кнопки Назад в браузере debugx Элементы интерфейса 1 19.10.2011 19:03
Простой сценарий определения текущего времени у меня в браузере почему-то не работает WitaliG Общие вопросы Javascript 2 02.08.2010 22:05
JavaScript замена Scrollbar в браузере ExeiL Элементы интерфейса 7 04.12.2009 22:22