Получается следующее, которое выглядит как действительный javascript, а не:
<html>
<body>
<script>
json = {test: "</script><script>alert('hello');</script>"};
</script>
</body>
</html>
Тот же текст, когда возвращается JSON через ajax api работает так же, как ожидалось. Однако при оказании встроенных результатов возникают основные проблемы XSS.
Учитывая произвольную правильную строку JSON, что мне нужно сделать на стороне сервера, чтобы сделать ее безопасной для встроенного рендеринга?
ИЗМЕНИТЬ В идеале я хотел бы, чтобы исправление работало со следующей строкой:
json = {test: "<\/script><script>alert('hello');<\/script>"};
Смысл, я понятия не имею, как моя базовая библиотека кодирует /
char, возможно, она выбрала его для кодирования или, возможно, нет. (поэтому его вероятное исправление regex более надежное)