Теоретически - проблема безопасности перенаправления ссылок JavaScript - PullRequest
1 голос
/ 14 ноября 2011

Ниже приведен теоретический вопрос, который, я надеюсь, кто-то сможет дать с ответом.

Я немного изучил и обнаружил, что очень (опасно) возможно следующее:

$('#link').click(function() {
    window.location = 'http://www.malicious-example.com';
    return false;
});

Как видно из этого живого примера.


Теперь я не очень разбираюсь в JavaScript, но это выглядит как гигантскийЯ имею в виду дыру в безопасности, браузер думает и показывает (внизу), что ссылка действительно ведет к http://google.com,, когда она в конечном итоге приведет к http://www.malicious -example.com .

У кого-нибудь есть информация по этому вопросу?Есть ли меры, предпринятые, чтобы позаботиться об этом?

Ответы [ 2 ]

2 голосов
/ 14 ноября 2011

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

Раньше были некоторые проблемы с JavaScript, в основном связанные с оповещениями ивозможность отменить изменение страницы, но большинство правильных браузеров имеют дело с ними по-разному.Например, если два оповещения сделаны очень быстро, у вас будет возможность отключить все дальнейшие оповещения, и браузеры теперь обнаружат, пытается ли страница остановить пользователя и покинуть его, и выведут свое собственное сообщение.

0 голосов
/ 15 ноября 2011

Это очень хорошо иллюстрирует разницу между чистой веб-страницей HTML и страницей с JavaScript. Веб-страница с Javascript на самом деле является крошечной программой. Когда вы запускаете эту программу, вы должны в некоторой степени доверять программисту. Программист может «перепрограммировать» ссылку, как вы демонстрируете, но он может сделать больше, чем это. Ему не нужно ждать, пока вы нажмете ссылку. Он может связать это действие с тем, чтобы навести мышку на изображение или другое абсолютно невинное действие.

Javascript - мощный язык. Это делает его полезным, но также делает его потенциально опасным во многом так же, как программы, написанные на других языках программирования.

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