Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Защита от фреймов, чтобы страница не могла отображается в.. 
V
    Опции темы
DRUG_ADDICT
Дата 31.10.2008, 12:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 10.8.2007

Репутация: нет
Всего: нет



Здрасте всем!

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

Код

if (фрейм == FALSE) {
echo "Я не в фрейме =)";
} else {
echo "Я в фрейме =(";
}

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

хотя нет, добавлю... получить станицу на которой содержатся фреймы не составляет труда $_SERVER['HTTP_REFERER']; а как быть в том случаи если фреймов нет?... хотя это мои уже проблемы... я знаю как сделать... допустим все таки фремы есть... начинаем парсить preg_match_all, ведь бывает что фреймы крайне не обходимы на страницы, как выявить нужный нам фрейм в котором содержится наш текст?... это тоже мои проблемы уже... 
Вопрос тут такой: как же все таки парсить эти фреймы так чтобы не нагружать PHP интерпретатор на сервере... не которые могут сейчас хихидно улыбнутся... но если 100 (как минимум) пользователей будут в один миг обращаться к этому скрипту... тем более что фреймы бывают разные черные, белые, красные бывают <frame бывают <iframe а бывают даже фреймы написаные JavaScript`e и как выявить тут один или несколько плохих фреймов (не важно как я буду определять плохие они или нет), какие функции использовать, и можно ли пример посмотреть или иходники? А может мне использовать JS код на стронции который будет определять, что текст загружен во фрейме... нооо это же JS он опасен, вдруг у пользователя он отключён, а вдруг человек решил пропарсить нашу страничку которая совершает какие то действия и при этом вырезать с неё эти JS скрипты и т.д. 

вообщем жду советов опытных программистов.. спасибо за ранее =)

Это сообщение отредактировал(а) DRUG_ADDICT - 31.10.2008, 12:52
--------------------
ICQ# 23-23-30 What can i do for you ? Paid..."Свобода лечит лучше всего" А.С. Неил. Самерхилт.
PM ICQ Jabber   Вверх
MoLeX
Дата 31.10.2008, 12:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 46
Всего: 140



 smile 


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
bars80080
Дата 31.10.2008, 12:57 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



конечно, сумбурности желательно по меньше, а то ухудшается понимание

во-первых, что за задача? конкретно

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

if((self.parent&&!(self.parent===self))&&(self.parent.frames.length!=0)){self.parent.location=document.location}

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

второе, может у тебя страница требует каких-то входных данных? обязательно только во фрэйме? можно использовать определённые параметры url или куки


PM MAIL WWW   Вверх
DRUG_ADDICT
Дата 31.10.2008, 17:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 10.8.2007

Репутация: нет
Всего: нет



Цитата(bars80080 @ 31.10.2008,  12:57)
конечно, сумбурности желательно по меньше, а то ухудшается понимание

во-первых, что за задача? конкретно

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

if((self.parent&&!(self.parent===self))&&(self.parent.frames.length!=0)){self.parent.location=document.location}

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

второе, может у тебя страница требует каких-то входных данных? обязательно только во фрэйме? можно использовать определённые параметры url или куки

Что за задача? - Сделать так чтобы страница не могла открыться во фреймах... то есть как не могла... да просто чтобы было перенаправленние на, да на что угодно, но только не на ту страницу которую надо по идее открыть, то есть по выполнению скрипта в TRUE...

Про Яндекс это хорошая идея, наверно даже это мне и поможет... но все же... это же JS его можно как то обойти или не знаю... 

про второе, да url`ка генерируется зависимости от... да не важно от чего... 

ладно спасибо... а есть ещё идеи? smile 
Ещё бы хотелось узнать, как можно обойти это например вот с Яндексом... скажем так практически как это можно осуществить?  :innocent: 
--------------------
ICQ# 23-23-30 What can i do for you ? Paid..."Свобода лечит лучше всего" А.С. Неил. Самерхилт.
PM ICQ Jabber   Вверх
DRUG_ADDICT
Дата 31.10.2008, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 10.8.2007

Репутация: нет
Всего: нет



а как тогда узнать средствами PHP включен ли JavaScript в браузере?
--------------------
ICQ# 23-23-30 What can i do for you ? Paid..."Свобода лечит лучше всего" А.С. Неил. Самерхилт.
PM ICQ Jabber   Вверх
bars80080
Дата 31.10.2008, 18:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(DRUG_ADDICT @  31.10.2008,  16:52 Найти цитируемый пост)
а как тогда узнать средствами PHP включен ли JavaScript в браузере?

на этом же форуме поищи

но могу сразу сообщить итог - 100% определить не удастся
PM MAIL WWW   Вверх
DRUG_ADDICT
Дата 31.10.2008, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 10.8.2007

Репутация: нет
Всего: нет



ага вот говорят можно узнать с помощью AJAX (пишется на JS) то есть отсылать какой нибудь простой запрос и тем самым: если запрос пришел - значит JS работает; если нет, офф... smile Всем аммм... огромное спасибо bars80080 smile 

Это сообщение отредактировал(а) DRUG_ADDICT - 31.10.2008, 18:36
--------------------
ICQ# 23-23-30 What can i do for you ? Paid..."Свобода лечит лучше всего" А.С. Неил. Самерхилт.
PM ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0477 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.