Откройте url в новой вкладке (а не в новом окне)
Содержание:
- Сайт становится уязвим для фишинговых атак
- Открывать новые вкладки в фоновом режиме
- Заключение
Сайт становится уязвим для фишинговых атак
Если вы применяете кнопку HTML открыть в новом окне, используя target=»_blank», сайт, на который ведёт ссылка, получает доступ к окну/вкладке с вашей страницей и может подменить её содержимое.
И это не теоретическая уязвимость. Специалисты отдела безопасности отметили «значительное количество сообщений» о подобном перехвате вкладок с целью внедрения вредоносного программного обеспечения.
Для тех, кому интересно — технические подробности. Открытый в новом окне сайт получает доступ к вашей странице через объект window.opener в JavaScript. Этот объект с функциями чтения/записи, которым можно управлять. В том числе, можно изменить свойство window.opener.location и заставить браузер перейти по новому адресу, чтобы открыть картинку в новом окне HTML.
Некоторые браузеры позволяют предотвратить подобное поведение добавлением к ссылке атрибута rel=»noopener noreferrer». Пример, приведённый в начале статьи, будет выглядеть следующим образом:
<a href="https://www.thesitewizard.com/" rel="noopener noreferrer" target="_blank">thesitewizard.com</a>
Теоретически, как rel=»noopener», так и rel=»noreferrer» должно быть достаточно, чтобы защититься от подобной атаки при открытии страницы в новом окне HTML. При этом корректнее использовать атрибут rel=»noopener», так как у rel=»noreferrer» есть побочный эффект — браузер не будет передавать сайту URL источника запроса. Но на данный момент не все браузеры поддерживают атрибут rel=»noopener». Аналогично, rel=»noreferrer» не поддерживается некоторыми браузерами. Поэтому, если захотите защитить пользователей как можно большего числа браузеров, вероятно, придётся использовать оба атрибута.
Тем не менее, этот приём работает только на актуальных версиях Chrome, Firefox и Safari. Internet Explorer данную функцию не поддерживает, хотя я успел быстро проверить 11 версию IE, и она, вроде бы, защищена от подобной атаки при настройках безопасности, применяемых по умолчанию. Насчёт браузера Microsoft Edge точно сказать не могу.
Другими словами, описанный выше метод нельзя назвать стопроцентной защитой. Лучший способ избежать этой проблемы — использовать нормальные ссылки без атрибута target=»_blank».
Открывать новые вкладки в фоновом режиме
Вот как вы можете открывать новые вкладки в фоновом режиме в браузерах Microsoft Edge, Mozilla Firefox, Google Chrome, Internet Explorer и Opera.
Принудительно открывать ссылки в фоновом режиме в Firefox
Откройте браузер Firefox. В адресной строке введите about: config и нажмите Enter. На экране вашего компьютера сразу же появится предупреждающее сообщение. Игнорируйте его, если его видите, и нажмите вкладку «Я буду осторожен, обещаю».
Двигаясь дальше, попробуйте найти ‘browser.tabs.loadDivertedInBackground‘в окне конфигурации дополнительных настроек. Используйте панель поиска, чтобы упростить процесс поиска. В строке поиска просто введите «browser.tabs» и нажмите Enter.
При просмотре по умолчанию вы увидите ‘browser.tabs.loadDivertedInBackground‘установлено значение false. Вам придется изменить значение.
Для этого дважды щелкните на browser.tabs.loadDivertedInBackground и установите его значение как ‘истинный‘. Вот и все! Вы можете отключить это, если хотите, в любой момент, просто снова установив его значение как false.
Принудительно открывать ссылки в фоновом режиме в Chrome
Хром не предлагает никаких простых методов принудительного открытия ссылок в фоновом режиме. Тем не менее, есть несколько разных подходов, которым вы можете следовать и заставить Chrome открывать ссылки в фоновом режиме.
Переместить ссылки на панель вкладок Новая вкладка
Щелкните, чтобы переместить ссылку на веб-страницу и отпустить ее в любом месте панели вкладок. Вы заметите, что ссылка автоматически открывается в новой вкладке. Вы можете переместить вкладку в любое место адресной строки.
Использование расширений Chrome
- Вкладка Force Background: Это удобный плагин это откроет новые вкладки в фоновом режиме.
- Откройте _new & _blank в новой фоновой вкладке: Принудительно заставляет все ссылки, у которых есть или же в качестве цели для открытия на новой фоновой вкладке вместо вкладки переднего плана. Плагин, однако, не работает с заголовками записей Google Reader, вместо этого он открывает две вкладки.
Принудительно открывать ссылки в фоновом режиме в Microsoft Edge
В браузере Edge, когда вы щелкаете правой кнопкой мыши и выбираете Открыть в новой вкладке, он открывает вкладку в фоновом режиме — как и большинство других браузеров.
Вы также можете использовать упомянутые выше расширения Chrome в Microsoft Edge Chromium.
Открытие новых вкладок в фоновом режиме в Internet Explorer
В Internet Explorer, вы можете легко изменить этот параметр, выбрав «Свойства обозревателя»> вкладка «Общие»> кнопка «Вкладки»> снимите флажок «Всегда переключаться на новые вкладки при их создании».
Принудительно открывать ссылки в фоновом режиме в Opera
Откройте Opera> Инструменты> Быстрые настройки> Убедитесь, что установлен флажок Блокировать нежелательные всплывающие окна.
Следующий тип about: config в адресной строке и нажмите Enter. Прокрутите вниз до Целевое назначение.
Введите «2». Сохранить и выйти.
Надеюсь это поможет!
Заключение
Общая рекомендация — по возможности избегать открытия вкладок в новом окне HTML. Конечно, в некоторых случаях этого не избежать. В этой ситуации можно предупредить посетителей сайта о том, что «ссылка открывается в новом окне». Это не сильно поможет среднестатистическому пользователю и не защитит его от фишинговых атак через ваш сайт, но хотя бы не будет раздражать более опытных пользователей.
Пожалуйста, оставляйте ваши отзывы по текущей теме статьи. За комментарии, отклики, дизлайки, лайки, подписки низкий вам поклон!
МКМихаил Кузнецовавтор-переводчик статьи «How to Make Links Open in a New Window or Tab»