Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Это уязвимость
data = data.replace('<script>__INITIAL_DATA__</script>', `<script>window.__INITIAL_DATA__ = ${JSON.stringify(store.getState())};</script>`);Если в любой строке из state будет
"</script><script>alert('hack')</script>"то это сработает, парсер html не смотрит, что там js строка. Просто сохраните в html файл такой код и посмотрите
<script>
const json = {"text":"</script><script>alert(1)</script>" };
console.log(json);
</script>У вас пользователи не добавляют контент (комментарии?), нет данных от сторонних апи и вы уверены в каждом сотруднике? XSS тут есть. То, что его не могут использовать посторонние люди другой вопрос.
Можно выводы, стоит ли игра свеч? Насколько быстрее стало рендериться приложение?
А что скажите по поводу Razzle?
Server Side Rendering для React App на Express.js