Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Отключить History API (https://javascript.ru/forum/misc/73230-otklyuchit-history-api.html)

Белый шум 01.04.2018 15:40

Цитата:

Сообщение от brizing
Соглашусь, /admin?token=jtcvbliugkbk - это неудобно и, допустим, это крайний вариант.

Активно работаю с движком опенкарт, где реализовано такое (правда, без защиты реферера) - вполне нормально на самом деле. Операторы, склад и хозяева сайтов проблем не испытывают.

Цитата:

Сообщение от brizing
<a href="/redir?/user" target="_blank">

Редирект не поможет, в реферере будет урл изначальной страницы. Если только там (на /redir?/user) будет редирект не http-заголовком, а яваскриптом - тогда поможет.
Или ещё такой вариант есть: https://caniuse.com/#feat=rel-noreferrer

Цитата:

Сообщение от brizing
админ может, находясь на странице /admin?token=jtcvbliugkbk, вставить в адресную строку ссылку /user, перейти туда и будет доступен document.referrer.

Нет.

Цитата:

Сообщение от Aetae
Токен в каждой ссылке - жуть какая.

Альтернативы какие?

Белый шум 01.04.2018 16:14

Цитата:

Сообщение от Белый шум
Или ещё такой вариант есть: https://caniuse.com/#feat=rel-noreferrer

Хотя в вашем случае всё-таки лучше яваскриптом.

Malleys 01.04.2018 20:55

Если контекст, где выполняются скрипты пользователей, находится внутри iframe, то возможно использовать атрибут sandbox.

Атрибут sandbox, если задан, включает набор дополнительных ограничений для любого содержимого, размещенного в iframe.

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

Значение атрибута allow-same-origin заставляет считать содержимое происходящим из реального источника вместо того, чтобы считать его как изолированный документ, значение allow-top-navigation позволяет содержимому выполнять навигацию по его контексту браузинга верхнего уровня; а значения allow-forms, allow-pointer-lock, allow-popups и allow-scripts включают соответственно формы, API блокировки указателя, всплывающие окна и скрипты.

Пример:
<iframe sandbox="allow-scripts"></iframe>

В примере встроенное содержимое имеет включенный скриптинг, но отключены API, плагины, формы и не может выполняться навигация по фреймам или окнам, кроме самого себя (или по любым фреймам или окнам, которые оно само внедрило).


Часовой пояс GMT +3, время: 12:29.