Запретить Кому-Либо Просматривать Мой Сайт С помощью IFrame
Я посмотрел и попробовал, но не вижу, где я могу запретить некоторым просматривать мой сайт через IFrame или Thickbox?
Я хочу запретить запрещенным участникам доступ к сайту через прокси-сайты, которые дают конечному пользователю возможность просматривать IFrame. Я знаю, что ничто не может быть полным доказательством, но это все равно стоит вопроса.
5 answers
Ознакомьтесь с комментариями собственного Джеффа Этвуда об этой проблеме...
Кодирующий Ужас - Мы Уже Были... Обрамленный!
Все сводится к тому, что нет НАДЕЖНОГО способа сделать это . Вы можете попробовать пробить фрейм, но злоумышленники всегда смогут добавить немного больше кода и обойти любую "защиту", которую вы можете добавить.
Ах, но вот ответ на Сообщение в блоге Джеффа Этвуда . (прорыв анти-анти-фрейма) возможно.
Поди разберись, это тоже был вопрос о стековом потоке. Опубликовано угадай кем? Ответ похож на ссылку, которую я опубликовал:
if(top != self) {
top.onbeforeunload = function() {};
top.location.replace(self.location.href);
}
AltCognito прав, вы хотите прервать прорыв фрейма.
Ниже приведен исходный код из сообщения, отправленного вам altCognito.
<script type="text/javascript">
if (top.location != self.location)
top.location = self.location;
</script>
Тем не менее, я думаю, что вы, возможно, даже захотите пойти дальше с этим. Возможно, вам захочется провести серию проверок, ищущих не только верхнее , но также родительское и окно.
<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>
<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>
Вы можете попробовать этот простой js в своем заголовочном файле
if (window.top !== window.self) window.top.location.replace(window.self.location.href);