Комментарии 11
Это уязвимость
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>
+1
Спасибо, да, согласен.
Но этот код же выполняется на стороне сервера, state формируется также на сервере, откуда там взяться XSS, если мы там контролируем сами все
Но этот код же выполняется на стороне сервера, state формируется также на сервере, откуда там взяться XSS, если мы там контролируем сами все
0
У вас пользователи не добавляют контент (комментарии?), нет данных от сторонних апи и вы уверены в каждом сотруднике? XSS тут есть. То, что его не могут использовать посторонние люди другой вопрос.
0
Хотелось бы поподробнее про проблемы с Next.js. По своему опыту могу сказать, что разработка на Next — просто сказка, когда разбираешься с его особенностями.
+1
Если разрабатывать с 0 проект, то большинство проблем можно избежать. + в 9й версии Next.js тоже некоторые возникшие проблемы уже не актуальны.
На данный момент могу только в виде видео показать www.youtube.com/watch?v=eenX8EGkTZM
На данный момент могу только в виде видео показать www.youtube.com/watch?v=eenX8EGkTZM
0
Можно выводы, стоит ли игра свеч? Насколько быстрее стало рендериться приложение?
0
А что скажите по поводу Razzle?
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Server Side Rendering для React App на Express.js