Запретить кому-либо просмотр моего сайта с помощью IFrame - PullRequest
7 голосов
/ 23 июня 2009

Я смотрел и пробовал, но не вижу, где я могу остановить просмотр некоторых страниц через IFrame или Thickbox?

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

Ответы [ 5 ]

15 голосов
/ 23 июня 2009

Ознакомьтесь с собственными комментариями Джеффа Этвуда из SO по этой проблеме ...

Код ужаса - мы сделали ... подставили!

Что сводится к тому, что нет НАДЕЖНОГО способа сделать это . Вы можете попробовать разбить кадр, но злоумышленники всегда смогут добавить немного кода и обойти любую «защиту», которую вы можете добавить.

8 голосов
/ 23 июня 2009

Ах, но вот ответ на Сообщение в блоге Джеффа Этвудса . (прорыв анти-рамки) возможно .

Иди к черту, это был вопрос и к Stackoverflow. Написал угадай, кто? Ответ похож на ссылку, которую я разместил:

if(top != self) {
 top.onbeforeunload = function() {};
 top.location.replace(self.location.href);
}
1 голос
/ 23 июня 2009

altCognito прав, вы хотите разрушить прорыв кадра.

Ниже приведен исходный код сообщения, отправленного вам altCognito.

<script type="text/javascript">
if (top.location != self.location)
top.location = self.location;
</script> 

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

<script type="text/javascript">

var self = self.location;
var top = top.location;
var parent = parent.location;
var window = window.location;

if (top != self || parent != self || window != self  )
window = self;
</script> 
0 голосов
/ 28 июля 2014

вы можете попробовать этот простой js в вашем заголовочном файле

if (window.top !== window.self) window.top.location.replace(window.self.location.href);
0 голосов
/ 06 июля 2014
<script>
   var isInIframe = (window.location != window.parent.location) ? true : false;

  if(isInIframe) 
  {
    alert("Window is in iframe");
    //Do what you want
    //top.location.href=self.location;
  }
  else 
  {
    alert("Window is not in iframe");
  }
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...