Size: a a a

2020 November 26

НС

Никита Сковорода... in BeerJS Moscow
очень
источник

BC

Bogdan Chadkin in BeerJS Moscow
Ага, ты прав
источник

BC

Bogdan Chadkin in BeerJS Moscow
@chicoxyzzy Мы в жопе
источник

DS

Dmitrii Shmakov in BeerJS Moscow
Andrey Sёmin
Я на него сегодня смотрел как раз, но не очень котирую скилбокс, чтобы им еще и деньги платить
Вот ты знаешь, тут вопрос.

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

Про скиллбокс - я там увидел в списке преподавателей Дмитрия Безуглова. Он у меня в вышке как раз вёл по этому курс и он очень крут.

Так что задумался.
источник

НС

Никита Сковорода... in BeerJS Moscow
Никита Сковорода
всё очень очень плохо
у самого реакта в style такой фигни нет, кстати
источник

НС

Никита Сковорода... in BeerJS Moscow
так что ещё одна точка провала — переход со style={{}} на этот css={{}} без перепроверки всего

или программисты, привычные к style={{}},  которым дали css={{}}
источник

DK

Dima Korolёv in BeerJS Moscow
Никита Сковорода
И вопрос не в том "зачем это нужно", а в "где гарантии, что этого не произойдёт" в достаточно большом проекте (где больше одного человека).
если в "достаточно большом проекте" допускаются такие вещи, то у него есть проблемы гораздо хуже, чем пользовательский ввод в CSS
источник

DK

Dima Korolёv in BeerJS Moscow
как, в принципе, и все остальные примеры, которые ты привел
источник

SR

Sergey Rubanov in BeerJS Moscow
Bogdan Chadkin
@chicoxyzzy Мы в жопе
источник

НС

Никита Сковорода... in BeerJS Moscow
Dima Korolёv
если в "достаточно большом проекте" допускаются такие вещи, то у него есть проблемы гораздо хуже, чем пользовательский ввод в CSS
лол
Нет.

Дело не в том, что они "допускаются". Дело в том, что гарантия того, чтобы такой штуки не произошло, должна быть программной, и проблема должна быть решена системно. Точнее, проблемы конкатенации пользовательского ввода в генерируемый цсс в рантайме вообще не должно существовать.

А полагаться на то, что человеки не допустят ошибок в ревью — гораздо менее надёжно.
источник

DK

Dima Korolёv in BeerJS Moscow
Никита Сковорода
лол
Нет.

Дело не в том, что они "допускаются". Дело в том, что гарантия того, чтобы такой штуки не произошло, должна быть программной, и проблема должна быть решена системно. Точнее, проблемы конкатенации пользовательского ввода в генерируемый цсс в рантайме вообще не должно существовать.

А полагаться на то, что человеки не допустят ошибок в ревью — гораздо менее надёжно.
все кейсы, которые ты продемонстрировал могут потенциально привести к ГОРАЗДО большим проблемам, чем "пользовательский ввод в CSS", и эти кейсы надо в любом случае устранять
источник

НС

Никита Сковорода... in BeerJS Moscow
Dima Korolёv
все кейсы, которые ты продемонстрировал могут потенциально привести к ГОРАЗДО большим проблемам, чем "пользовательский ввод в CSS", и эти кейсы надо в любом случае устранять
пользовательский ввод в цсс это уже критичная проблема.
особенно если он на глобальном уровне

и да — например?
источник

DK

Dima Korolёv in BeerJS Moscow
Что например? К каким проблемам может привести возможность загрузки файла с сохранением произвольного имени?
источник

DK

Dima Korolёv in BeerJS Moscow
Или к каким проблемам может привести отсутствие ревью?
источник

SR

Sergey Rubanov in BeerJS Moscow
Bogdan Chadkin
@chicoxyzzy Мы в жопе
а у нас там прям дето такая динамичная динамика разве есть?
источник

DK

Dima Korolёv in BeerJS Moscow
Никита Сковорода
Третий пример — вы наняли нового человека и ему пришла в голову замечательная мысль сунуть юзернейм в стиль через
profile-header::before { content: 'Hi, ${username}' }
ну и мне не очень понятно, каким образом остальные CSS-in-JS решения защищены вот от этого, например
источник

MK

Michael K in BeerJS Moscow
XSS же
источник

НС

Никита Сковорода... in BeerJS Moscow
Dima Korolёv
Или к каким проблемам может привести отсутствие ревью?
Не надо слишком сильно полагаться на ревью.
Люди делают ошибки чаще, чем хочется.
источник

НС

Никита Сковорода... in BeerJS Moscow
Особенно если в ревью нагрузить ещё "а теперь вы дополнительно проверяете что несанитизированные переменные не окажутся в цсс".
Хотя вообще-то библиотека построения стилей должна это сама делать.
источник

MK

Michael K in BeerJS Moscow
Dima Korolёv
Что например? К каким проблемам может привести возможность загрузки файла с сохранением произвольного имени?
Эскейп из виртуальной машины и своруют ключ от биткоин кошелька
источник