I’d like to customize the reply/embedded-post. This requires a modification to the _computeCooked method in post-cooked via a plugin; essentially when this.attrs.embeddedPost is true, render something else.
I noticed it’s easier to override or reopen ‘conventional’ Ember classes or the widgets created using ‘createWidget’. What would be the best way to achieve this for the PostCooked class?
на пользовательский контент в зависимости от категории. Но это имеет смысл. Это также должно быть возможно с помощью decorateCooked. После небольшого изучения кажется, что decorateCookedElement может быть подходящим вариантом, так как я не хочу использовать jQuery. Спасибо
Похоже, это была напрасная трата времени, и мне нужно выбрать другой путь.
Когда я присваиваю elem.innerHTML значение <script>alert(1)</script>, оно становится неэкранированным: <script>alert(1)</script>. (Я замечаю это, когда ввожу это в редакторе: если ввести неэкранированный код, он исчезнет в предпросмотре.) Это проблема, или CSP это остановит?
Посты, содержащие теги <script> в качестве части объяснения, также, похоже, вызывают эти ошибки CSP. Я сейчас в полном замешательстве. Нужно ли мне вообще беспокоиться о сохранённых XSS-атаках, или CSP просто заблокирует их? В редакторе я использую CKEditor, который предотвращает self-XSS. Если мне всё же нужно беспокоиться, похоже, мне нужно удалять небезопасные теги. В данный момент я делаю так:
value = Loofah.fragment(value).scrub!(:escape).to_s
Но, похоже, это не даёт никакого эффекта, потому что при присваивании этого значения elem.innerHTML HTML-сущности просто раскрываются.
РЕДАКТИРОВАНИЕ: Наконец, я нашёл источник своего замешательства: функция «Inspect Element» не показывает настоящий HTML — она уже преобразует HTML-сущности.
Если кликнуть «Edit as HTML» в инспекторе, становится ясно, что на самом деле всё в порядке. Тот факт, что рендерятся невидимые теги, должен был уже указать мне в этом направлении.