setAttribute () и XSS - PullRequest
       0

setAttribute () и XSS

4 голосов
/ 04 декабря 2010

Я пишу скрипт, который должен записать текущее местоположение страницы в DOM, и я обеспокоен XSS.Является ли следующий фрагмент кода Javascript безопасным из XSS?

var script = document.createElement('script');
script.setAttribute('src', 'http://fake.com?src=' + encodeURIComponent(document.location.href));
document.getElementsByTagName('head')[0].appendChild(script);

Я знаю, что использование document.write () для достижения той же цели не безопасно в различных браузерах, но я невидел любой источник, обсуждающий использование методов доступа DOM.

1 Ответ

8 голосов
/ 04 декабря 2010

Нет необходимости использовать "setAttribute":

script.src = 'http://fake.com?src=' + encodeURIComponent(document.location.href);

Я не вижу, куда могла бы проникнуть уязвимость XSS. Полагаю, код сервера на «fake.com» должен быть «защищен» от странных значений этого параметра «src», но это будет так, независимо от того, как выглядит ваш Javascript.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...