Самая быстрая стратегия выхода для тревожной кнопки на сайтах, посвященных кризисам / нарушениям? [закрыто]


122

Я делаю сайт Ресурсного центра по борьбе с насилием в отношении женщин. У многих подобных центров есть то, что они называют «тревожной кнопкой». Пример базового можно найти здесь, вверху каждой страницы, на зеленой полосе.

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

Проблема, которую я вижу, заключается в том, что большинство кнопок, которые я вижу, просто отправляют вас в Google или что-то в этом роде. Я собираюсь сделать что-то вроде этого:

<a href="http://www.msn.com/#news" rel="noreferrer">LEAVE WEBSITE NOW!</a>

или

<a href='data:text/html;charset=utf-8, <html><meta http-equiv="refresh" content="0;URL=&#39;http://www.msn.com/#news/&#39;"></html>'>LEAVE WEBSITE NOW!</a>

По такой ссылке вы перейдете к актуальному содержанию. Это не пустой поиск в Google, но и не совсем конкретная вещь, которая может показаться подозрительной.

Я знаю, что блокировка реферера - это хорошо, но даже с этим решением вы можете нажать кнопку «Назад» в браузере, и вас поймают. Для этой проблемы я подумал, что могу сделать что-то следующее:

HTML

<a href="javascript:goNewWin()" rel="noreferrer">LEAVE WEBSITE NOW!</A>

JavaScript

function goNewWin() {
    window.open("backbuttonnewpage.html",'TheNewpop','toolbar=1,location=1,directories=1,status=1,menubar=1,scrollbars=1,resizable=1'); 
    self.close()
}

Я публикую, потому что есть риск для жизни из-за этого, и мне нужно что-то, что как можно ближе к полному решению. Как бы вы это сделали?

 

ОБНОВЛЕНИЕ-3-26-14:
Я опубликовал некоторые образовательные идеи, размещенные здесь ресурсным центром, с которым я работаю, и вот их ответ. «Нашим пользователям требуется огромное мужество, чтобы даже зайти на наш веб-сайт. Когда они приходят, они ищут быстрый и простой способ выйти из потенциально опасной для жизни ситуации. В большинстве случаев у них не будет времени или умственных способностей, чтобы обучите себя безопасному способу просмотра нашего веб-сайта. Когда им представлена ​​идея «тревожной кнопки», когда все сделано правильно, это кажется ресурсом, который всегда требуется большинству жертв, которых мы лечим ».

После прочтения большого количества идей кажется, что полное решение - это большая кнопка, которая постоянно находится в левом положении. Когда страница загружается, она загружает другой сайт в фоновом режиме (может быть, вызов ajax), так что нажатие кнопки просто удаляет перекрывающийся фрейм. Это будет означать отсутствие времени загрузки при нажатии. Чтобы избежать нажатия кнопки возврата в браузере, кажется, что необходимо указать браузеру не кэшировать, а также, возможно, использовать replaceStateпри каждом изменении страницы для отключения кнопки возврата, которая открывает этот сайт.

Это все еще технический вопрос. Дебаты очень помогают, но мне все еще нужно рабочее техническое решение. Кто-нибудь думает, что они могут собрать все эти идеи во что-то функциональное? Я сразу буду работать над этим и опубликую все, что придумаю. Спасибо всем.


39
Я бы начал с очистки или скрытия текущей страницы (с помощью javascript) при щелчке по ссылке (потому что переход по ссылке может занять некоторое время ...)
Кэмерон,

8
Интересно, что на связанной странице ссылка «нажмите здесь, чтобы быстро покинуть» кажется недоступной на iPad, скрытая за кнопками социальных сетей ... о худшем решении ux, которое я видел в недавней истории: /
Дэвид говорит восстановить Монику

6
Согласитесь с Дэвидом Томасом относительно предпочтения по умолчанию для Google - использование MSN само по себе было бы подозрительным в моем доме.
Стивен П.

6
Какой у вас настоящий вопрос?
Petah

15
Размещение кнопки вверху кажется ужасным размещением. Подумайте о законе Фиттса! У вас есть тонкая полоска, по которой кто-то должен ударить, и если он пролетит мимо, то не ударится. Смешной. Поместите его слева, где большинство пользователей могут воспользоваться фактически бесконечным размером. (На некоторых дисплеях справа может быть полоса прокрутки, внизу - панель задач по умолчанию, вверху - панель вкладок по умолчанию. Любой, кто достаточно ^w
смекал

Ответы:


37

(ПОЧТИ) ОКОНЧАТЕЛЬНОЕ РЕДАКТИРОВАНИЕ

Хорошо, я прочитал все комментарии, и это то, что я считаю лучшим решением, но я также подумал о ВСЕЛОКАЛЬНОЙ АЛЬТЕРНАТИВЕ. Я открыт для дальнейшего улучшения / обсуждения

var panic= function(){
    document.body.innerHTML = '';
       //this clears the current html in the body 
       //making it look like the page is loading
    
    if(...){ //check if replaceState is supported so no error is thrown
        var title="Decoy Article Title",
        url="/decoypage"; //another endpoint on your server that gives the decoy website
        window.history.replaceState("", title , url); //replace current history entry
    }

    //should be pretty fast up to this point
    window.location.replace("http://www.google.com"); //load the google page or my alternative.
}

Я разместил пример на своем экземпляре AWS по адресу 54.186.79.95. Перейдите на эту страницу, нажмите кнопку, перейдите на другую страницу, затем нажмите ответ, теперь вы находитесь на 54.186.79.95/decoywebsite, и нет никаких записей о том, что вы находитесь на 54.186.79.95. /, если кеш отключен, ваш сервер увидит запрос "../decoywebsite" и отправит ложную страницу. К сожалению, вы не можете изменить весь домен, поэтому он не должен вызывать подозрений.

Если вы хотите избавиться от содержимого страницы, я считаю, что лучше всего использовать document.body.innerHTML='';. Технически вы все еще находитесь на странице, но весь контент пропал.

Следующим шагом является изменение истории вашего браузера. window.history.replaceState( ссылка на документы ) - это функция HTML5, которая может изменять вашу историю без перезагрузки страницы или запроса на ваш сервер. Это довольно быстро, но работает только в современных браузерах. Когда пользователь нажимает кнопку паники, мы заменяем текущую страницу в его истории поддельным URL-адресом.

Если злоумышленник щелкнет в ответ, ваш сервер (Php, python и т. Д.) Получит запрос с вашим поддельным URL-адресом. Таким образом, вам нужно иметь еще одну конечную точку на вашем сервере (дайте мне знать, если вы не понимаете конечные точки). Сделайте безобидную статью, рецепт или прогноз погоды в том же стиле, что и на исходном веб-сайте, чтобы избежать подозрений, если злоумышленник быстро взглянул на веб-сайт. Также убедитесь, что браузер не кэширует с помощью <META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">тега.

Дополнительные примечания

  • В идеале весь ваш веб-сайт (за исключением, конечно, ложной статьи) должен быть SPA (одностраничным приложением), чтобы он всегда создавал только одну запись истории браузера, и вам нужно было только изменить ее.
  • В конце концов, я не думаю, что вы не можете сделать кнопку паники, которая была бы на 100% надежной, есть способы обойти это. Вам просто нужно найти такой с приемлемым уровнем безопасности и удобства.

ЕЩЕ ОДНА АЛЬТЕРНАТИВА: ЛОКАЛЬНО ИЗМЕНИТЬ ВКУСНУЮ ИНФОРМАЦИЮ И ИЗМЕНИТЬ ИСТОРИЮ БРАУЗЕРА

Я также подумал, если вместо загрузки Google лучше всего локально преобразовать ваш сайт с невинной информацией . Это выглядит менее подозрительно, чем загрузка Google (так делают все), и вы можете делать все это локально, не перезагружая страницу.

Когда они нажимают кнопку паники, вы выполняете быстрые (и совместимые с кроссбраузерностью) манипуляции с DOM, чтобы изменить компрометирующую информацию на своем веб-сайте и сделать ее невинной (возможно, просто измените текст, это должно быть быстро). Таким образом, все это делается локально, что в подавляющем большинстве современных браузеров происходит практически мгновенно. Вам не нужно беспокоиться о перезагрузке / серверах, потому что скрипты уже должны быть загружены и готовы к работе. Если вы сохраните тот же внешний вид, это будет похоже на то, что пользователь просто перешел на другую страницу веб-сайта. Не делайте слишком очевидным по внешнему виду вашего веб-сайта, что это кризисный веб-сайт. Конечно, вы лишаете возможности вернуться к исходному содержанию. Я бы также прояснил на тревожной кнопке, какова стратегия, чтобы пользователь не волновался.

Я бы все равно попытался изменить историю браузера и купить другой домен, на котором размещена копия страницы-приманки, как в предыдущем примере. Не только в том случае, если доменное имя подозрительно, но и в случае, если злоумышленник нажимает кнопку «Обновить» или возвращается в свою историю. Вы должны сделать весь свой веб-сайт SPA, потому что вы можете изменять только свою текущую запись, а не свою прошлую историю. Конечно, это по-прежнему будет работать только в браузерах HTML5, просто убедитесь, что не возникает ошибок, а другая часть скриптов все еще выполняется в старых браузерах.

Что думают люди? какие слабые места в этом? Чем было бы хорошо заменить контент?


10
Angular / Backbone не делают того, чего нельзя сделать с родным JS.
Frambot

Предлагаемое изменение: вы должны пояснить, что #foo ref / fragment не отправляется на сервер. Вы можете доказать это, проверив, что отправлено, используя cURL: curl -v http://example.org/#/foo RFC 3986 "... идентификатор фрагмента отделяется от остальной части URI до разыменования, и, таким образом, идентификационная информация внутри самого фрагмента разыменовывается исключительно пользовательским агентом. .. "
Джо Ливерседж

1
@JoeLiversedge да, наверное, ты прав. Однако можно избавиться от hashbang ( #) и, следовательно, ваш сервер увидит фрагменты. Некоторые JS-фреймворки делают это из коробки. Я не знаком с window.historyчистым JS-решением, но любой желающий может редактировать мой пост. Текущее приложение, над которым я работаю (Angular + Express), работает следующим образом: сервер не видит, когда я нахожусь в своем приложении, но если я обновляюсь или выхожу и нажимаю обратно, мой сервер увидит полный запрос.
NicolasMoise,

Я не думаю, что вам следует использовать фреймворк в этом случае, потому что вы хотите, чтобы сценарий выхода был как можно более легким (нет необходимости в манипуляциях с DOM, просто нажмите состояние без хэшбэнга и выходите)
NicolasMoise,

2
Мне нравится идея, что история может быть скрыта автоматически, но вы не можете быть уверены, что пользователь использует браузер, совместимый с HTML5. Скорее всего, если они не разбираются в технологиях, они и не будут.
раздавить

28

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

Мои причины быть

  1. Во время `` чрезвычайной ситуации '', сколько времени требуется пользователю, чтобы подвести руки к мыши (при условии, что они подняли руки, чтобы напечатать или коснуться своих волос или что-то еще, что они хотели сделать), предположим, что им потребовалось -> 0,5 секунд
  2. В вашем примере сайта зеленая полоса на самом деле очень маленькая, честно говоря, не все очень точны с рукой, координацией глаз (более того, ускорение курсора мыши может отличаться в зависимости от ОС и профиля пользователя), пользователь должен перемещать наведите указатель мыши на кнопку «Паника» и нажмите, если они не являются профессиональными геймерами FPS , скорее всего, им потребуется еще -> 1-2 секунды
  3. Мое последнее предположение о переменном: если ваш сценарий включает загрузку удаленных ресурсов, например, www.google.com, вы можете подвергнуть опасности жизнь, предположив, что браузер
    • Современный
    • Включены ли скрипты
    • Скорость и задержка сети оптимальны
    • Кеши заправлены.

Если вы собираетесь загружать удаленные ресурсы, я предлагаю вам вставить div с z-index: -1 и некоторое фиктивное веб-содержимое. При щелчке переместите их z-index выше, чтобы перекрыть все на экране.

Итак, если мы предполагаем, что вы загружаете удаленный ресурс и со всеми неизвестными переменными, мы можем предположить, что затраченное время будет -> 0,5 - 10 секунд.

Если вы собираетесь написать программу, которая может кого-то убить, я настоятельно рекомендую вам не рисковать и делать то, что может занять 2–12 секунд, чтобы спасти их.

Обучайте своих пользователей, разместив баннер с инструкциями

  1. Откройте вкладку, которая не угрожает их жизни (например, google.com, msn.com, yahoo.com)
  2. Откройте другую вкладку со своим сайтом
  3. Обычная навигация по вашему сайту
  4. В экстренных случаях нажмите, Ctrl+Wчтобы открыть Google Chrome, IE , Firefox, Opera (пожалуйста, подтвердите для других основных браузеров)

Если вы поняли всю идею, нажмите ctrl + w вместо запланированного решения, я могу точно гарантировать, что Ctrl+Wоно будет быстрее.


3
Что касается истории, есть режим In-Private для IE и режим Incognito для Chrome
Ли Гэри,

7
Я думаю, что это хорошая идея, так как это определенно быстрее / безопаснее, но это не замена тревожной кнопки. Вы не можете ожидать, что все посетители прочитали и поняли ваше руководство, особенно если оно посещается впервые. Я думаю, что у OP должны быть как учебник по безопасному просмотру, так и кнопка паники.
NicolasMoise

42
Целевая аудитория явно не очень разбирается в технологиях и находится в очень эмоциональной / стрессовой ситуации. Обучение тому, как использовать браузер наиболее незаметным образом (вероятно, на языке, на котором они не очень хорошо говорят), в настоящее время является их наименьшей проблемой. А что они делают, если в этот самый момент их учат кто-то входит? Хотя в целом для них, безусловно, неплохо знать, например, ctrl-w, можете ли вы гарантировать, что они запомнят? Хорошо заметная «тревожная кнопка» - это хорошая и интуитивно понятная помощь, которую вы можете им оказать. Все остальное может быть только дополнением.
PlasmaHH

16
Я не знаю, почему это проголосовало. Это нелепый ответ, но было бы неплохо, если бы каждый знал правильные методы безопасного просмотра. Вы не можете ожидать, что кто-то, кто находится в бедственном положении и, вероятно, впервые посетит ваш сайт, узнает / прочитает / поймет это.

11
Я, честно говоря, не понимаю, почему за это проголосовали. Это ужасный и не по теме ответ, который вносит дополнительную ненужную сложность в исходный вопрос OP. Лучшим предложением был бы более крупный и понятный баннер, а не дополнительная вкладка. Перестаньте думать об этой проблеме с точки зрения опытного разработчика или суперпользователя, владеющего сочетаниями клавиш. Моей маме было бы все равно, или, точнее говоря, она не поймет сочетания клавиш, и это именно то, для кого они предназначены.
theGreenCabbage

23

Этот ответ предполагает, что история и адресная строка не являются проблемой. По крайней мере, не сразу.

сценарий

Джули стала жертвой супружеского насилия. Она ищет помощи в Интернете и заходит на ваш сайт: http://www.crisisprevention.com (ответ на этот вопрос вымышленный)

Просматривая ваш сайт, она слышит, как ее супруг быстро приближается к комнате. Она паникует. К счастью, у вас есть красивая большая кнопка, которая прикрепляется к странице во время ее прокрутки.

Она нажимает эту кнопку и ...

Это приводит ее на Google.com

Мне не нравится этот подход по следующей причине: никто не поверит, что вы просто сидите перед своим компьютером и смотрите на подсказку поиска Google. Поверь мне. Я пробовал это раньше.

Раньше я держал вкладку открытой с подсказкой Google, и если я просматривал не по теме на работе, я переключался на вкладку Google, чтобы никто не был мудрее. Это сработало ... вроде как. Пока люди не начали спрашивать, почему я весь день смотрю на экран поиска Google.

С тех пор я начал открывать вкладку с различными рабочими проектами в разных состояниях. Обычно над вещами я работаю в перерывах между просмотром. Итак, теперь я действительно делаю кое-какую работу! Не требуется технический гений, чтобы понять этот подход, поэтому ответ @ LeeGary может быть лучшим.

Это требует ее ... это все еще занимает ее ... о, проблемы с подключением к Интернету

Вот вам реальность, к которой нужно быть готовым. Возможно, в момент паники соединение с Интернетом прерывается. Текущее содержимое остается отображенным на странице, пока она ждет HTTP-запроса GET, чтобы получить содержимое, которое он может начать отображать ... только содержимое не извлекается. Интернет-соединение прервано. Это могло произойти по любому количеству причин:

  • Супруг отключил его.
  • Сервер, к которому осуществляется связь, находится под чрезмерной нагрузкой
  • Браузер не хватает памяти.
  • У интернет-провайдера проблемы.
  • Коммутируемое соединение / отключение (да, они все еще существуют).
  • Компьютер просто медленный.
  • DNS-сервер не работает.

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

Мгновенное обслуживание альтернативного веб-сайта

Мое решение предполагает предварительную загрузку веб-сайта в фоновом режиме. Загрузите его в <div>и спрячьте за обычным сайтом. Если это большой бит содержания, то вы могли бы рассмотреть пряча его z-indexвместо display: none. Таким образом, он будет предварительно обработан ( я считаю, что здесь может ошибаться ).

Теперь не имеет значения, отключено ли ее подключение к Интернету. У нее уже есть контент. Запрос HTTP GET не требует задержки. Он просто отображается сразу.

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

Например, возьмем вымышленный (для этого ответа) домен: http://www.crisisprevention.com

Вы могли бы подать альтернативную статью, которая касается, скажем, решения мирового голодающего кризиса.

Идея здесь в том, что это первый первый взгляд, который больше всего поражает. Когда супруг входит и видит, как она уходит на Google.com с таким испуганным взглядом, он заподозрит, что что-то не так, и будет более склонен расследовать. Точно так же было бы еще хуже, если бы она была поймана на процессе попытки скрыть свои действия из-за того, что запрос HTTP GET был медленным или не удался.


3
Было бы хорошо, если бы альтернативный веб-сайт мог иметь тот же внешний вид, что и реальный веб-сайт: цвета, макет. Так что, если бы злоумышленник увидел сайт краем глаза, входя в комнату, он бы просто слегка мигал, а не переходил на другой сайт.
micapam

Мне нравится этот мыслительный процесс. Я хотел бы добавить мысль о том, что нам нужно будет использовать JavaScript для запуска переключателя, поэтому у нас должен быть вариант резервного копирования на случай (хотя и незначительный), что есть ошибка JS или если JS отключен, чтобы иметь фактический набор href по ссылке, чтобы она куда-то попадала вместо повторной привязки к верхней части страницы (а затем просто возвращала false при событии щелчка в JS).
GreatBlakes

1
С точки зрения дизайна (в ответ на micapam) я полностью согласен и добавлю, что дизайнеры, создающие сайты, где требуется тревожная кнопка, должны избегать выделяющихся цветов (насыщенность и уникальность) и использовать белые / светло-серые вторичные тона с оттенком. нейтрального / общего основного цвета.
GreatBlakes

16

С тревожной кнопкой возникают большие проблемы:

  • по нему сложно нажимать (надо быть аккуратным)
  • требуется время, чтобы выбрать его (и очень много времени, если вы используете ноутбук без мыши)
  • это спасает вас в истории
  • он доступен с помощью кнопки возврата / возврата.

А как насчет панических случайных движений женщины, которая пытается быстро нажать на эту кнопку, когда она читала это. Что, если она упустит кнопку с первой попытки?

Так что, если есть действительно человеческие жизни, которые можно спасти, это плохая идея.

Лучше всего показать им нормальный способ сделать это (через какую-то помощь, прежде чем вы сможете войти на этот сайт). Это может быть примерно так:

В зависимости от браузера пользователя вы даете ему список шагов, для которых используется только клавиатура (без мыши). Например, если она на хроме.

  1. откройте понравившийся сайт (FB, твиттер, забавные кролики и сделайте вид, будто что-то делаете).
  2. Нажмите CRTL + SHIFT + N (открывает окно в режиме инкогнито), что не позволит трюки с возвратом / историей
  3. войдите туда на наш сайт (без копирования, чтобы не проверять, что находится внутри вашего буфера)
  4. Читайте материал и всегда держите руки на клавиатуре ближе к CRTL и W.
  5. В случае аварии нажмите CRTL + W
  6. Продолжайте сниматься в своем FB, твиттере, веселый кролик

Конечно, вы должны изменить свое объяснение на соответствующем языке. Но так очень сложно попасться. Также расскажите о том, как сидеть рядом с зеркалами и другими отражающими поверхностями, такими как окна, очки и другие вещи. Попросите их попробовать использовать эту комбинацию в течение некоторого времени, чтобы они были вам знакомы.

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

Ответ Нобиусу

Я вас понял, спасибо. Но я не согласен с вашей точкой зрения. После долгой кампании по размещению на FB, вы действительно видели это на FB? Я не. Нетехнические люди известны тем, что придумывают до смешного плохие идеи, некоторые из которых вы, возможно, уже испытали (предотвращение щелчка правой кнопкой мыши на страницах банков для повышения безопасности, 4-значные пароли, чтобы их было легче набирать с мобильных телефонов). Нажатие кнопки звучит проще, но посмотрите мой список шагов - единственное, что вам нужно сделать в стрессовой ситуации, - это нажать CTRL + W. Вам не нужно думать о вкладках, режимах и других вещах. Это похоже на базовый шаблон - посмотрите кого-нибудь, нажмите CTRL + W. На мой взгляд, это совсем несложно и легко запомнить. Это не сложнее, чем не забыть нажать на кнопку. Все остальное вы должны прочитать в нормальной атмосфере.

Нажатие 2 кнопок происходит НАМНОГО быстрее, чем перемещение мыши, и действительно трудно пропустить их, когда ваши пальцы находятся на них (проведите эксперимент и поставьте себя в полную стрессовую ситуацию и попытайтесь быстро нажать на эту кнопку). Также, как я уже упоминал, я вижу по крайней мере четыре причины, по которым что-то может пойти не так в panic buttonситуации, тогда как в CRTL + W я вижу гораздо меньше причин. Если в дело вовлечены человеческие жизни - нужно быть профессионалом.

Ответ NicolasMoise . Почему люди продолжают говорить, что нужно быть технически подкованным, чтобы нажимать CTRL + W? Я не пытаюсь показать людям, как использовать TOR, VPN, настраивая канал шифрования. Это просто CTRL + W. Люди научились играть в Angry Birds, чтобы тратить свое время (что намного сложнее, чем запомнить 2 кнопки), поэтому люди могут выучить CRTL + W, чтобы спасти свою жизнь. Учебное пособие может быть показано таким образом, чтобы наблюдатель не мог понять, почему вы это читаете (когда вы видите мой список шагов, я не думаю, что первое предположение было бы - ах, это сайт о насилии над женщинами).

Но, скорее всего, гораздо лучше дать людям представление о ложной безопасности. Ответ не не по теме. Человек спрашивает, как реализовать кнопку паники, и я объясняю, почему текущий способ ошибочен и что он может сделать, чтобы сделать это лучше. Это на том же уровне, что и «Я хочу сделать общение безопасным и использую подстановочный шифр», да, вы можете повысить скорость его шифрования и сделать вид, что все в порядке, или вы можете указать другой способ.

Последняя попытка объяснить мою дополнительную мысль : вы должны правильно объяснить людям риски, стоящие за вашим подходом. Хорошим примером, когда люди страдали от того, что они не объясняли проблемы должным образом, была проблема с белорусскими блоггерами, которые думали, что анонимное размещение сообщений в Интернете сделает их незамеченными для правительственных репрессий. Ресурс дал им ложную уверенность в том, что они спасаются, если не сообщат свою настоящую личность. Они узнали, что это неправда, на собственном горьком опыте (когда их посадили на несколько лет).

Если бы кто-нибудь объяснил им риск, я думаю, некоторые из них были бы счастливы узнать, как использовать любой инструмент, чтобы сэкономить свои следующие пять лет.

Так почему бы не дать женщинам несколько вариантов:

  • Вы можете сразу же использовать подход A, и вот список проблем, с которыми вы можете столкнуться.
  • вы можете использовать подход B, который требует X минут в первый раз, чтобы что-то прочитать и понять. И тогда ваш список возможных проблем сокращается до меньшего списка.

И пусть они сами решают, что они хотят делать. Таким образом, они знают о рисках.


14
Я не голосовал против, но не согласен с вашим утверждением о том, что это нелепо. Кнопка «Паника» была тем, за что многие благотворительные организации и депутаты в Великобритании проводили кампании, чтобы разместить ее на Facebook для подростков, над которыми издевались в Интернете и которые не знали, от кого получить помощь. Нажать кнопку гораздо проще в стрессовой ситуации, чем заранее запомнить длинную последовательность шагов и ожидать, что ничего не пойдет не так, когда возникнет ситуация.
Nobilis

2
@Mark ну, OP сказал, что это базовый вариант :) Но я пытаюсь указать, что концепция известна, знакома и, на мой взгляд, больше подходит для нетехнических людей. Вы знаете, что такое кнопка, и нажимаете ее. Думать о вкладках, приватных режимах и сочетаниях клавиш, возможно, сложнее и менее знакомо людям, которые могут лишь время от времени просматривать веб-страницы.
Nobilis

2
@Salvador Этот ответ не по теме. Это похоже на: «О, у вас жестокие отношения, и кто-то следит за каждым вашим шагом, почему бы не потратить некоторое время, чтобы прочитать и понять это длинное руководство по правильным методам просмотра, чтобы вы были в безопасности при следующем посещении сайта (что предполагает, что вас не застали за чтением учебника) ". Любая система, предполагающая, что все ее пользователи технически подкованы, неизбежно потерпит неудачу. Опять же, мы не говорим, что ваш метод плохой или медленный (на самом деле он быстрее и безопаснее), но вы не можете ожидать, что каждый посетитель узнает об этом, и поэтому вам нужна кнопка паники.
NicolasMoise

4
Без обид, но я не думаю, что вы понимаете то, что мы с Нобилис пытаемся донести. Вы говорите, что Ctrl + W быстрее / безопаснее, я согласен. Мы не согласны с тем, что нельзя ожидать, что каждый посетитель узнает или запомнит Ctrl + W только потому, что вы упомянули его где-то на своем сайте. Кроме того, OP специально попросил тревожную кнопку.
NicolasMoise,

1
@NicolasMoise Я думаю, что правильным способом сделать это было бы теоретическое исследование, чтобы выяснить, как люди ведут себя в той или иной ситуации, и сравнить два подхода. С помощью кнопки и с помощью CTRL + W. Посмотрите, как быстро люди могут научиться нажимать CTRL + W (может быть, это действительно сложно, и я не могу этого понять). А потом посмотреть процент отказов. Если вы думаете, что это необходимость - почему бы не рассказать людям о риске, стоящем за этой необходимостью. Они могут подумать, что кнопка паники полностью исправна, и будут очень удивлены, если кто-то сможет показать, что с помощью Backspace вы можете видеть, что они делают.
Сальвадор Дали,

10

Я думаю, тебе еще предстоит долгий путь.

Причина отправки людей на страницу Google заключается в том, что

  1. он загружается очень быстро
  2. он все равно будет кеширован
  3. рендерится очень быстро
  4. это действительно хорошо оптимизировано
  5. я уже говорил, что это быстро?

Указанная вами ссылка медленная.

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


Я не думаю, что Google допускает загрузку во фрейме, но мне нравится идея маскировки переключения фреймов.
Дэвид просит восстановить Монику на работе

Неплохая идея, но я вижу одну проблему в том, что URL-адрес останется прежним.
NicolasMoise

Это все еще примерно 2-3 секунды (может быть, больше при медленном Интернете), даже с горячим кешем.
Petah

@David: OP не хотел использовать Google.
symcbean

@NicolasMoise: URL-адрес в адресной строке не меняется, как только вы выполняете перенаправление
symcbean

5

Я немного расширяю объем вопроса, поскольку нажатие кнопки паники гарантирует, что пользователя не поймают.

В этой проблеме есть несколько проблем, которые необходимо решить в зависимости от риска и того, насколько вычислительно грамотным является пользователь.

Таким образом, было бы неплохо дать пользователю некоторые базовые знания о безопасности наиболее удобным способом. Даже если пользователь находится в состоянии сильного стресса, ему лучше знать, какие следы он может оставить.

Следы

История браузера

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

Печенье

Если вы используете файлы cookie, следующий человек может получить эти файлы cookie (даже если срок их действия истек) и сможет понять, что этот сайт был использован. По возможности используйте настраиваемые заголовки для авторизации, которые не оставят никаких следов на компьютере.
Это может заставить вас изменить структуру приложения, что может быть не очень хорошей идеей. Настройка файлов cookie в браузере только после того, как вы убедитесь, что пользователь использует сеанс приватного просмотра.

Кэширование

Технически подкованный человек может определить, был ли сайт посещен, если вы воспользуетесь кешированием, открыв страницу и проверив сеть. Убедитесь, что вы явно указали браузеру не кэшировать, используя эти заголовки в своих ответах:

'Cache-Control: no-cache, no-store, must-revalidate'
'Pragma: no-cache'
'Expires: 0'

Кнопка назад

При смене страниц каждая страница будет помещена в текущую историю (даже в сеансе приватного просмотра), что позволит использовать кнопку «Назад». Если можете, используйте при replaceStateкаждом изменении страницы, чтобы кнопка возврата не работала.

шифрование

Используйте HTTPS для предотвращения подслушивания. Обратите внимание, что запросы DNS по-прежнему будут оставаться незашифрованными, но я не думаю, что это будет проблемой, если только пользователь не утекает правительственные данные. Если это так, веб-сайт в любом случае будет недостаточно безопасным.

В общем, этого должно быть достаточно для удаления следов, также убедитесь, что вы не используете другие уровни сохранения, например localStorage.

Кнопка паники

Это совершенно другая проблема, и нам нужно учитывать несколько вещей в наших расчетах.
Во-первых, если это опасный для жизни сценарий, мы должны понимать, что пользователь будет испытывать крайний стресс, когда ему понадобится запустить panic exit. Мы не знаем, как расположен экран компьютера, и не можем угадать, что делает пользователь во время паники.

Проблемы с позиционированием экрана

В худшем случае экран будет расположен таким образом, чтобы угроза могла видеть (на расстоянии) экран и сайт. Если это так, сайт должен быть разработан таким образом, чтобы он выглядел очень похоже на сайт exit site, чтобы исключить любые подозрения. Переход от другого дизайна к белому Google будет заметен, даже если экран не виден напрямую, просто сравнив цвета, которые экран излучал между двумя сайтами (в достаточно темной комнате).

Скорость выхода

Если вы просто сделаете перенаправление, оно может оказаться недостаточно быстрым, чтобы вовремя внести изменения. Вы должны предварительно загрузить выходную сторону в iframe, и во время паники вы должны поместить ее в полноэкранный режим, а затем выполнить перенаправление. Это поможет не только кэшировать статическое содержимое сайтов выхода, но и ускорит работу. Убедитесь, что вы используете replaceStateвместо естественной навигации, чтобы отключить кнопку возврата.

Выездные маршруты

Вы должны убедиться, что маршруты выхода будут доступны сразу и легко для пользователя. Я думаю, что наиболее вероятными двумя состояниями являются либо пользователь печатает , либо пользователь перемещается . Это означает, что у вас должны быть и сочетание клавиш для выхода, и большая кнопка в вашем HTML.

Клавиатура Выход

Я думаю, что использование либо двойного нажатия клавиши ESC должно вызвать его, либо удержания одной из больших клавиш (например, пробела или ввода). В любом случае вы должны сообщить об этом пользователю и, возможно, позволить ему потренироваться, попробовав. Попытка выйти из паники поможет им предвидеть паническое поведение, чтобы получить веские доводы (ожидаемое поведение может облегчить), и они будут обучены этому, так что с большей вероятностью они сделают это должным образом в панике. время.

Выход мыши

Это будет довольно просто, у вас будет большая кнопка разного цвета, которая вызовет панику.

Куда выйти?

Это зависит от случая. По умолчанию может быть разумным сделать перенаправление на обычно используемый сайт с аналогичным дизайном по умолчанию. Также может быть разумным позволить пользователю самостоятельно выбирать сайт выхода (после того, как он установит нормальное значение по умолчанию).

Ноты

  • Если пользователь использует частный просмотр и паникует, браузер все равно будет находиться в состоянии приватного просмотра, что может вызвать подозрения. Нет простого способа обойти это. Вы можете попытаться попросить пользователя очистить историю после этого, но у него может не хватить на это времени.
  • Большая часть ответа касается настольных браузеров, на мобильном устройстве работа будет другой, но не очень.

3
OP спросил, «как реализовать тревожную кнопку», и все же люди, похоже, отвечают инструкциями о том, «как безопасно просматривать веб-страницы». Это ТАК для вас, я думаю, не говорите нам, что вам нужно, мы вам скажем.

4

Надежный побег

РЕДАКТИРОВАТЬ: Еще одна вещь, которая приходит на ум, заключается в том, что если пользователь потерял подключение к Интернету, что происходит по разным причинам, включая отключение кабеля, вы не сможете перейти на другой сайт. Они могли застрять там, как олень в свете фар, на «компрометирующей» странице. Я думаю, что это добавляет доверия к идее фактического перехода на надежный партнерский / аффилированный сайт, который, в свою очередь, загружает ваш сайт в iframe прямо на своей странице. Все, что вам нужно сделать, чтобы ваш сайт исчез, - это удалить свой iframe из DOM с помощью JavaScript, который уже загружен в iframe. Это сработало бы, даже если бы Интернет-соединение пропало.

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

EDIT: Я просто понял , что ранее плакат сделал «ESC» отметить клавишу Escape , со ссылкой на него , как Перед тем, как написать ответ, я искал на странице «Ключ выхода», но пропустил это.

РЕДАКТИРОВАТЬ: Я бы также оставил кнопку паники на странице с текстом «Щелкните здесь или НАЖМИТЕ ESCAPE для быстрого выхода». Но я бы поставил один вверху и один внизу страницы. Может быть, я бы положил полоску на всю страницу. Если посетитель щелкает где-нибудь в этой пограничной зоне, ваш контент исчезает.

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

Если вы используете jQuery, вы можете сделать что-то вроде следующего, чтобы ответить на клавишу Escape:

jQuery( function ( $ ) {
    $( document ).keyup( function ( e ) {
        if ( e.which === 27 ) // escape
         {
         // clean up... 
         }
    } );
} ); 

Одностраничное приложение AJAX

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

Если бы я собирался применить этот подход, у меня был бы обширный список универсально безвредных сайтов и поисковых запросов, которые я бы периодически просматривал, чтобы каждый раз не появлялся один и тот же «поиск черной женской обуви».

Но как насчет того, чтобы перевернуть всю концепцию с ног на голову? Использовать один или несколько безобидных сайтов-обманов или даже запрашивать несвязанные безобидные коммерческие сайты для размещения безобидно выглядящей ссылки и загружать свой сайт как одностраничное приложение AJAX в iframe поверх главной (-ых) страницы (-ей)?

РЕДАКТИРОВАТЬ: вы даже можете сделать это, кратко указав на своей домашней странице, что он будет перенаправлять посетителя на сайт кооперативного партнера для их собственной безопасности, и отобразить большую дружественную кнопку «Перейти». Если у вас есть несколько партнерских сайтов, вы можете их подтолкнуть, тем лучше. Когда они нажимают, сотрите историю браузера для вашей страницы, перенаправьте на аффилированный сайт с параметром запроса URL, который сообщает вашему загрузочному JavaScript в партнерке, чтобы немедленно загрузить ваш iframe. С этого момента дополнительная нагрузка на веб-сервер партнера не возникает. Таким образом, у вас есть официальная домашняя страница, но вы сразу же полностью убираете посетителя со своей страницы.

Нажатие клавиши Escape или нажатие кнопки паники просто удалит ваш iframe из DOM, оставив безобидную страницу хоста и не историю браузера. (Пуф)

Вы могли бы смягчить проблемы истории браузера , что путь , так как Ваша ссылка будет работать немного самозагрузки коды JavaScript , и вы никогда не будете на самом деле ориентироваться браузером на ваш сайт на всех.

Когда щелкают ссылку начальной загрузки на странице хоста, она вставляет iframe в DOM, перемещает его (абсолютное позиционирование и z-порядок), чтобы разместить его поверх главной страницы, а затем выполняет вызов AJAX к вашей веб-службе, чтобы получить содержимое HTML, которое будет загружено во фрейм. Все дополнительные ссылки и / или кнопки во фрейме также будут вызывать AJAX-вызовы вашей службы, будь то отправка данных на сервер или получение данных для отображения. Вы вообще никогда не загрузите настоящую «страницу» в браузере пользователя.

Еще один приятный аспект этого подхода заключается в том, что если браузер выйдет из строя или станет нестабильным и его придется закрыть из диспетчера задач, что предотвратит запуск кода очистки, это не имеет значения, потому что у вас (обязательно) нет ничего очистить.

Хьюстон...?

Несколько серьезных проблем, которые я вижу с любым из этих решений, не выходят из моей головы, особенно с учетом контекста, в котором жизнь может быть поставлена ​​на карту:

  • кэшированные объекты (в первую очередь изображения) в кеше браузера

  • маршрутизатор / брандмауэр может регистрировать запросы HTTP / HTTPS, и жертва может этого не знать, и ничто из того, что вы делаете, чтобы очистить браузер, не смягчит это

  • на компьютере пользователя может быть установлено шпионское ПО для клавиатурных шпионов / снимков экрана, и ничто из того, что вы можете сделать из приложения браузера, не смягчит это

  • компьютеры дают сбой, веб-браузеры перестают работать, а следы остаются, потому что код очистки не запускается.

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


2

Вы можете взглянуть на кнопки паники «Босс» на некоторых старых играх и на сайтах. Идея состоит в том, что вы могли бы быстро переключиться на что-то невинное, если бы подошел ваш босс (конечно, вы должны сначала увидеть, как он приближается!).

Практически любое поспешное / бешеное действие, когда приходит обидчик, вызывает у них подозрения. Рассмотрите возможность создания экранов так, чтобы они выглядели как общие новости или тому подобное (на расстоянии), без больших заголовков или изображений, раскрывающих их цель. Часто это дает время для «неторопливого» выхода с сайта без паники. Если ссылка тревожной кнопки ведет пользователя, скажем, на добросовестный новостной сайт, тем лучше (если он появится достаточно быстро).

Как уже упоминали другие, если злоумышленник становится подозрительным (а многие из тех, кто умеет контролировать), в браузере все еще есть исторический след, по которому они могут быстро узнать, где был пользователь. Откровенно говоря, вы мало что можете сделать, особенно если пользователь входит в режим безумной паники, пытаясь замести следы, и обидчик это видит. Даже если сам экран может быть обновлен до чего-то невинного по истечении некоторого времени ожидания, в истории браузера будет URL.

Вы можете посоветовать пользователям расположить компьютер так, чтобы злоумышленник не мог подкрасться к ним сзади, или пойти в библиотеку или другое неприкосновенное место, чтобы использовать этот сайт. Если контент на экране выглядит тусклым на расстоянии (см. Выше), он не должен вызывать интереса у окружающих.

Удачи с этим!


мой ответ как бы связан с проблемой истории браузера (хотя он не идеален и, вероятно, может быть улучшен)
NicolasMoise,

2

Вы можете показать страницу с ошибкой вместо фактического сайта, который уже загружен в фоновом режиме. Может быть, фальшивая страница на YouTube или Google 404? Я думаю, что это позволит свести к минимуму размер дополнительного контента.

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

Вы также можете использовать другие варианты; кнопку на самой странице или сообщите им о других методах выхода (ctrl + w, как упоминалось ранее). Может, тоже жест для пользователей планшетов? Наверное, для этого есть какие-нибудь библиотеки.

И, конечно же, вы можете изменить URL-адрес на панели задач. (См. Код о том, как это сделать, в других сообщениях).

Поощряйте их попробовать варианты побега. Таким образом, они знают, что делают и как могут на это отреагировать.


0

Думаю, мы можем поступить иначе. Моя идея следующая:

  1. Показывать сайт только с фальшивым контентом (похожим по стилю и макету на настоящий).
  2. Пользователь должен выполнить определенное взаимодействие с контентом, чтобы запустить шаг 3 (например, поместить XYZ в текстовое поле или щелкнуть комбинацию флажка или RadioButton и т. Д.).
  3. После выполнения шага 2, когда пользователь задерживает определенную крошечную точку на странице (правая сторона), страница будет отображать свое реальное содержимое. И контент останется, если навести на него мышку.
  4. В экстренной ситуации / панике пользователь может просто отвести указатель мыши от реального содержимого, и содержимое будет изменено обратно на поддельное.

... держа мешок с фруктами на голове и напевая "якоря прочь", иначе реальное содержание не будет отображаться ...
Крейг

@Craig, у вас появилась идея ...
Болу
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.