HTML / Javascript: Должен ли я кодировать, экранировать или очищать созданные пользователем строки для атрибутов alt (теги)? - PullRequest
0 голосов
/ 26 ноября 2018

Кажется, есть много принятых ответов относительно того, нужно ли кодировать сгенерированные пользователем атрибуты HTML (например, атрибут alt изображения), «экранировать» их или «санировать» их.

Мне интересно: если я отображаю сгенерированные пользователем атрибуты alt для элементов img, как мне их кодировать (если вообще нужно), я должен и кодировать, и дезинфицировать?Должен ли я и дезинфицировать, и убежать?

Если я знаю, что у какого-либо символа есть возможность показать, как мне следует обрабатывать эту сгенерированную пользователем строку перед установкой ее в качестве атрибута alt?

Ответы [ 2 ]

0 голосов
/ 26 ноября 2018

Я использую React.js для создания разметки, в которой эта сгенерированная пользователем строка используется в качестве атрибута alt тега img

Предполагается, что вы имеете в виду что-тов соответствии с:

<img alt={this.props.alt} />

... тогда нет, вам не нужно ничего делать.Реакт работает на DOM.Вы не генерируете исходный код HTML, поэтому специальные символы в данных нельзя использовать для внедрения JavaScript через уязвимость XSS.

0 голосов
/ 26 ноября 2018

Требуется санация, поэтому нет проблем с отображением строки.Если вы храните атрибут alt в базе данных, вам определенно следует экранировать строку.

...