LINUX.ORG.RU

Безопасно встроить javascript на форум?

 , ,


0

1

Много лет уже JS-вставки в сообщениях форума тупо блокируются. Но иногда встречаются попытки вставить через них embeded.

И вот, подумалось тут — а нельзя ли придумать вариант безопасной вставки JS? Основная проблема, понятное дело, утечка кук с хешем-идентификатором.

А что, если вставить такой JS в iframe на левом домене? Правда, домен второго уровня на такое баловство жалко, а из домена третьего уровня можно получить куки домена второго. Плюс гвоздями придётся прибивать размер.

Можно ли как-то ещё этот вопрос решить, никто не задумывался?

★★★★★

Последнее исправление: cetjs2 (всего исправлений: 1)
Ответ на: комментарий от dib2

Если есть нормальное решение — почему бы не реализовать? :) Случаи использования пользователями единичные, конечно (за год), но лишняя возможность форума лишней не будет :)

KRoN73 ★★★★★
() автор топика

пока делается eval для приема AJAX-ответов по JSON - все защиты можно легко, в общем-то... Основная идея: не делать eval.

Или ты про блокировку javascript в браузерах?

Вместо левого домена использовать доверенный фильтрующий узел, отдавая уже потребителю рафинированный контент...

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

Вместо левого домена использовать доверенный фильтрующий узел, отдавая уже потребителю рафинированный контент...

Нет. Задача именно разрешить пользователю получать JavaScript, размещённый другими пользователями.

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

Нет. Задача именно разрешить пользователю получать JavaScript, размещённый другими пользователями.

есть песочницы для этого. Когда то была статья от или про микрософт, про реализацию такой песочницы ...

Что-то вроде этого: http://habrahabr.ru/post/116898/ ,но может устарело

swwwfactory ★★
()
Последнее исправление: swwwfactory (всего исправлений: 1)

Основная проблема, понятное дело, утечка кук с хешем-идентификатором.

alert("анонимус одобряэ")
anonymous
()

Можно. Куки бывают подписанные, бывают зашифрованные(https), и тупо http куки. Они не доступны js. Т.ч. никаких утечек не будет при грамотном подходе. Но нафига обмениваться кодом, при этом не контролируя его? Можно его, конечно, пропускать через санитайзер/антивирь эдакий, но нужно ли это? Доверять нельзя никаким данным извне системы. Так тебе могут прислать что угодно вместо js.

menangen ★★★★★
()

Тебе очень будет приятно, если зайдешь в какой-нибудь тред, а там добрый человек вставил iframe с <audio> какого-нибудь бибера на автоплей? :)

В целом, идея сэндбоксить чужой код в iframe вполне жизнеспособна, но обычно при этом в принудительном порядке происходит премодерация QA-командой содержания этого iframe.

noomorph
()

for(;;); ага. Лучше даже и не пытайся.

anonymous
()

А что, если вставить такой JS в iframe на левом домене?

Можно. Но он не будет иметь доступа к родительской странице, смысл в таком скрипте. И кроме кук можно другие гадости делать, например редирект на другой сайт или фейковую страницу авторизации.

goingUp ★★★★★
()

Похоже, что ты даже не представляешь какие мерзости можно делать с обычным js, даже без embeded. От мелкого баловства, типа замены всех запятых на странице на ", бл*," до вполне себе неплохого ddos'а на сторонние сайты. Добавь к этому еще и обфускатор и хрен ты поймешь какая страница на твоем форуме тебе гадит. А если у тебя еще используется Ajax, то сожранный трафик, dos и пр. прелести будут ждать и твой сервак.

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

Можно. Но он не будет иметь доступа к родительской странице

Это понятно, это и требуется.

И кроме кук можно другие гадости делать, например редирект на другой сайт или фейковую страницу авторизации.

А редирект, развен, не для фрейма сработает, а для всей страницы?

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

От мелкого баловства, типа замены всех запятых на странице

Из iframe?

до вполне себе неплохого ddos'а на сторонние сайты

Это не так страшно. Вставки подобные единичны, активного посещения не будет, сразу после закрытия страницы всякий «DDoS» отвалится.

Пока реальная проблема, как я понимаю, только куки домена верхнего уровня.

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

до вполне себе неплохого ddos'а на сторонние сайты

Это не так страшно. Вставки подобные единичны, активного посещения не будет, сразу после закрытия страницы всякий «DDoS» отвалится.

Да? Посмотри на свою суточную посещаемость и длительность сессий (которые вырастут из-за долгой загрузки страницы) и прикинь сколько нужно для небольшого ддоса: http://roem.ru/2014/03/18/ddos94739/

А санкций со стороны поисковиков и антивирусов не боишься? Попадет ресурс в черные списки...

+ Не забывай, что порой достаточно и одного посещения, распространение вирусов и спайваре идет через специально подготовленные страницы открываемые в ифреймах на выкупленных рекламыных площадках.

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

А санкций со стороны поисковиков и антивирусов не боишься?

Можно отдавать такой контент только зарегистрированным пользователям :)

Итак постоянно приходится это делать в свете гугловых заморочек последнего времени.

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