У меня есть какой-то пользовательский html, который я не могу контролировать;
Я хочу извлечь только текст (textContent
, innerText
, что угодно) из этого фрагмента html для отображения навеб-сайт.
Как можно безопасно получить текст, учитывая, что в этом html-содержании может содержаться вредоносный код, такой как теги скрипта, фреймы, теги стиля или другие подобные вещи.
Это пример ввода:
<p style="text-align:center;"><em>whatever</em></p>
<style>body { display: none } </style>
<p><em>Some more whatever</em></p>
<script>alert('lala')</script>
И это то, что я ожидаю обратно:
что угодно
еще что-нибудь
От чегоЯ понимаю, что решение не должно добавлять вещи в DOM, так как оно может потенциально увеличить вероятность атаки XSS.Использование белого / черного списков хорошо, но не идеально, потому что его сложно поддерживать (придумывать) и постоянно обновлять.