Немного отойду от темы, вот есть rettyPhoto Plugin - это JS галерея.
И вот пишут, мол она не безопасна. https://packetstormsecurity.com/file...Scripting.html Если сформировать url: /#!%22%3E%3Cimg%20src=1%20onerror=prompt%280%29;%3E// мы на страницу можем вставить вредный код. Нужно сделать вот такой фикс: hashIndex = parseInt(hashIndex); hashRel = hashRel.replace(/([ #;&,.+*~\':"!^$[\]()=>|\/])/g,'\\$1'); А почему на свою страницу, которая тупо смотрит URL и показывает его в HTML я не могу вывести вредный код? |
Цитата:
|
Цитата:
var ex = 'alert(%27ALARM%27);'; eval(decodeURI(ex)); |
Насколько я понял проблема rettyPhoto Plugin в том что они используют decodeURI
Если я у себя сделаю вот так, из плюсов будет правильно отображаться русские символы. Но из минусов я смогу добавлять вредный код. window.onload = function() { $("#test").html(decodeURI(window.location.search)); } Вопрос, есть какой-то еще способ безопасно в читаемом виде выводить русские символы с url? |
Цитата:
|
Скрипты (<script>) при добавлении через innerHTML не срабатывают. А вот через jQuery сработает, так как там метод "html" не через innerHTML вставляет данные. Для безопасной вставки достаточно использовать метод "text" (или свойство textContent в нативном JS).
|
Часовой пояс GMT +3, время: 20:59. |