2015-10-28 3 views
0

Есть ли возможность определить, загружена ли моя страница с страницы кликов?Обнаружить, если моя страница является местом для перетаскивания мышью

Я имею в виду, не имеет значения, является ли страница созданием clickjacking (я установил заголовок X-FRAME-OPTIONS), дело в том, что на странице с щелчками мыши просматривается моя страница.

Первое, что я нашел, это управлять HTTP-REFERER, но это тяжелая работа, потому что я не могу контролировать весь свой трафик.

Извините за мой английский.

ответ

0

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

if($_SERVER['REQUEST_METHOD'] == 'POST' && !strstr($_SERVER['HTTP_REFERER'], 'mydomain.com') { 
     //probably clickjacking 
} 

Если у вас есть страницы, которые используют GET, которые являются чувствительный к clickjacking, вы можете либо добавить проверку HTTP_REFERER для каждой страницы, либо изменить страницу для использования POST (что обычно лучше всего подходит для чего-то, что делает обновление).

+0

Я проверил некоторые ClickJacking страницы, я обнаружил, что они используют среднюю страницу кто выполните перенаправление: «header (location: ...)», таким образом, фильтр POST/GET не полезен. –

0

Один из ваших вариантов, чтобы установить заголовок сайта: «X-Frames-Options», чтобы «SAMEORIGIN»

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

Apache:

Заголовок всегда добавлять X-Frame-Options SAMEORIGIN

MDN - The X-Frame-Options response header

EDIT: Теперь я лучше понимаю ...

Может быть, вы может использовать код, похожий на этот:

if (window.top !== window.self) { 
 
     // do something here 
 
    }

Это один способ обнаружения, если страница загружается в фрейм. Вы можете установить здесь cookie, вызвать WebService здесь или использовать window.location.href для навигации.

Вот пример «кадр перебора» защита для кликджекинга: Clickjacking Defense

-KB

+0

Привет, Кайл, если я использую X-Frame-Options, я избегаю использовать мою страницу в iframe. То, что я ищу, - это способ определить, доступна ли моя страница на iframed странице. Я имею в виду, не имеет значения, загружается ли моя страница в iframe (в любом случае заголовок установлен ...) мне нужно, чтобы рекламные агентства не использовали мою страницу в качестве конечного пункта для кликов. –

+0

Заголовок x-frame-options запретит загрузку Iframe из более поздних версий IE, Chrome и Firefox.Если вас беспокоит мошенничество с рекламным агентством, возможно, вы можете посмотреть журналы, чтобы узнать, был ли предпринят попыток щелчка в одном из этих браузеров. Я не уверен, получит ли сервер DENY, но там будет какая-то подпись. По крайней мере, будет запрос на страницу, а затем ** ** ** запрос для вашего CSS или JavaScript для этой страницы. После этого вы можете прекратить использовать это рекламное агентство. Пожалуйста, сообщите нам, когда вы выясните, какой тип подписи искать. –

+0

Думаю, я не объясняю это хорошо. Не имеет значения, загружается ли моя страница на iframe. –

 Смежные вопросы

  • Нет связанных вопросов^_^