Модераторы: Sardar, Aliance

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> обойти запрет доступа к содержимому iframe, расположенному на другом сервере 
:(
    Опции темы
Alx
Дата 26.2.2007, 02:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

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



привет всем)
в iframe грузится контент с другого сервера. как получить его document.body.innerHTML?
пишет "Отказано в доступе". сам скрипт у меня на локалке


--------------------
PM MAIL WWW ICQ   Вверх
Sardar
Дата 26.2.2007, 11:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

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



Никак. Тебе это никогда не будет нужно.
Пиши плагин к лисе (MyIE и т.д.), он имеет доступ до любой страницы.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Alx
Дата 26.2.2007, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

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



Цитата(Sardar @  26.2.2007,  11:43 Найти цитируемый пост)
Тебе это никогда не будет нужно.

почему? я отправляю запросы на тот сервер, мне нужно получить ответ...


--------------------
PM MAIL WWW ICQ   Вверх
Sardar
Дата 26.2.2007, 21:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

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



Цитата(Alx @  26.2.2007,  15:37 Найти цитируемый пост)
почему? я отправляю запросы на тот сервер, мне нужно получить ответ... 

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


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Alx
Дата 27.2.2007, 00:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

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



понятненько, спасибо)


--------------------
PM MAIL WWW ICQ   Вверх
Alex13
Дата 11.3.2007, 08:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 280
Регистрация: 30.12.2005
Где: Новосибирск

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



Sardar, то есть кросс-браузерного решения не существует? :(


--------------------
Самая страшная ошибка - это ошибка, не имеющая явных причин и конкретных последствий.
Антисоциальный блог.
PM WWW ICQ Jabber   Вверх
Sardar
Дата 12.3.2007, 11:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

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



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

Как уже говорил, многие браузеры позволяют писать плагины, фильтры и прочие примочки на JS. Подобная штука имеет полный доступ до страницы. Для IE пользователей можно попросить  поставить MyIE, в котором плагины писать очень просто.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Alex13
Дата 13.3.2007, 10:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 280
Регистрация: 30.12.2005
Где: Новосибирск

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



Sardar, да не, на ИЕ7 я чихать хотел. Просо хотелась необлшого бота для онлайн игрушки на JS написать, а тут задача самым подлым образом усложнилась:(

Ну да ладно, firefox+xpi рулятsmile


--------------------
Самая страшная ошибка - это ошибка, не имеющая явных причин и конкретных последствий.
Антисоциальный блог.
PM WWW ICQ Jabber   Вверх
JSman
Дата 16.3.2007, 01:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



ну мне думается, что на твоем серваке точно пашет что-то типа пхп или перл, ну пусть и отправляются данные в пхп твоего домена и делай с ним все что хочешь. вопрос не к js. это факт. а там тебе и кроссбраузерность будет и все такое
PM ICQ   Вверх
Alex13
Дата 17.3.2007, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 280
Регистрация: 30.12.2005
Где: Новосибирск

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



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


--------------------
Самая страшная ошибка - это ошибка, не имеющая явных причин и конкретных последствий.
Антисоциальный блог.
PM WWW ICQ Jabber   Вверх
lonli
Дата 31.3.2007, 01:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 31.3.2007
Где: Москва

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



Цитата

Никак. Тебе это никогда не будет нужно.
Пиши плагин к лисе (MyIE и т.д.), он имеет доступ до любой страницы. 
 
Sardar , ты уверен?
У меня не получается.
Код

...

trW=window.open(nU, "myW", "toolbar=1,width=300,height=100");
trW.document.open();
println(trW.document.innerHTML+'aaa');

...

function println(inp){
output.innerHTML=output.innerHTML+inp+"<br>";
}

начиная с trW.document.open(); ничего не делает, сообщения об ошибке не выдаёт

Код

...
  trW=window.open(nU, "myW", "toolbar=1,width=300,height=100");
  setTimeout("start2()",4000);
...
function start2(){
  println('a');
  trW.document.open();
  println('b');
  println(trW.document.innerHTML);
}
function println(inp){
  output.innerHTML=output.innerHTML+inp+"<br>";
}


после вывода а выводит в строку состояния "Script Error!".
Страницу в обоих случаях нормально загружает.
Может мне настройки какие поменять?
Код находится в файле .js указанном в plugin.ini
PM MAIL ICQ   Вверх
Sardar
Дата 31.3.2007, 01:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

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



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


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
lonli
Дата 31.3.2007, 12:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 31.3.2007
Где: Москва

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



Спасибо.
Код плагина похоже работает как часть той страницы, которая была активна, когда был запущен плагин.
Соответественно можно создавать новые окна с url того же домена и управлят их содержимым.
А вот как на счёт других доменов? Можно с их содержимым программно работать?
Или необходимо вручную загрузить страницу и для неё опять запустить плагин?
Спрашиваю из чистого интереса.
PM MAIL ICQ   Вверх
Sardar
Дата 31.3.2007, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

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



Цитата(lonli @  31.3.2007,  11:35 Найти цитируемый пост)
Или необходимо вручную загрузить страницу и для неё опять запустить плагин?

Да, только так. Иначе можно было бы писать плагины шпионы и подобное.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Alx
Дата 18.7.2007, 04:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

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



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


--------------------
PM MAIL WWW ICQ   Вверх
korchasa
Дата 18.7.2007, 10:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Alx @ 18.7.2007,  04:29)
неужели совсем никак добиться взаимодействия между ифреймом и главным окном? :(
у меня такая задача.. есть два моих файла: главное окно и ифрейм, но они расположены на разных хостах.. при наведении мышки на ифрейм из него должна передаться переменная в гланое окно. каким-то образом.. может можно как-то из фрейма к родительскому окну обращаться? у меня не получается(
едиственное что приходит в голову - Буфер обмена.. навел, скопировалось, убрал курсор - вставилось.. только это не кроссплатформенно..

Проще использовать proxy page, которая будет расположена на том же хосте, что и активная страница, чем придумывать извращенные способы обхода систем безопасности. Если, конечно, есть возможность использовать серверные языки. 
PM MAIL   Вверх
Alx
Дата 18.7.2007, 10:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

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



korchasa, а можно поподробнее?


--------------------
PM MAIL WWW ICQ   Вверх
korchasa
Дата 18.7.2007, 11:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Alx @ 18.7.2007,  10:49)
korchasa, а можно поподробнее?

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


Это сообщение отредактировал(а) korchasa - 18.7.2007, 11:05
PM MAIL   Вверх
Alx
Дата 18.7.2007, 11:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

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



korchasa, о.. а можно тогда пример?

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


--------------------
PM MAIL WWW ICQ   Вверх
12345c
Дата 18.7.2007, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

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



Можно (в IE) перехватить ошибку Access Denied по onerror, но сомневаюсь, что будет возможно программно удалить фрейм. Доступ к фрейму будет заблокирован на всё время его существования, даже если свой домен туда впишешь.
PM WWW   Вверх
JSman
Дата 19.7.2007, 22:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



так эти 2 разных хоста тебе принадлежат?
PM ICQ   Вверх
Alx
Дата 19.7.2007, 23:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

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



JSman
ну как бы да..

я кстати заметил, что у окна есть доступ к self.parent.frames может с этим поколдовать?


--------------------
PM MAIL WWW ICQ   Вверх
JSman
Дата 20.7.2007, 00:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



нет. смотри.

      для решения проблемы есть 2 способа на мой взгляд. 
1) как я предлагал, серверное решение
2) в главном фрейме при событиии копируешь в клипбоард в определенном формате типа текст, например " data^varname^vardata ". а в другом фрейме кидаешь таймер на проверку клипбоарда и применяешь

Это сообщение отредактировал(а) JSman - 20.7.2007, 00:06
PM ICQ   Вверх
Alx
Дата 20.7.2007, 00:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

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



JSman, ну клипбоард это только в винде будет работать.. а можешь поподробнее рассказать про серверное решение?


--------------------
PM MAIL WWW ICQ   Вверх
JSman
Дата 20.7.2007, 00:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



если у тебя чужой сервак в главном фрейме, то копируй содержимое вебстраницы с помощью php. и отображаешь ее как будто это чужой сайтик. но ты имеешь доступ к dom. да, точно, еще не забудь поставить элемент <base href="адрес вебстранички, которую копируешь" />

Добавлено через 3 минуты и 32 секунды
по такому принципу я даже html шпиону в одно время писал, чтобы проверить кто, что делает у меня на компе))
PM ICQ   Вверх
Alx
Дата 20.7.2007, 00:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

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



JSman
ты меня запутал smile
Цитата(JSman @  20.7.2007,  00:31 Найти цитируемый пост)
если у тебя чужой сервак в главном фрейме

чужих нет, все свои.

Цитата(JSman @  20.7.2007,  00:31 Найти цитируемый пост)
копируй содержимое вебстраницы с помощью php

какой вебстраницы? главной или из ифрейма?


--------------------
PM MAIL WWW ICQ   Вверх
SelenIT
Дата 20.7.2007, 00:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

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



Alx, сорри, что встреваю, но можно уточнить смысл вот этого?
Цитата(Alx @  18.7.2007,  11:56 Найти цитируемый пост)
он специально расположен на другом хосте, чтобы было нельзя сделать это программно из адресной строки главного окна.

От чего это защита?


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
JSman
Дата 20.7.2007, 01:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



хе, решил еще раз прочитать вообще о чем речь идет))

Цитата(Alx @  26.2.2007,  02:51 Найти цитируемый пост)
привет всем)в iframe грузится контент с другого сервера. как получить его document.body.innerHTML?пишет "Отказано в доступе". сам скрипт у меня на локалке

итак, если исходить из конкретного поста, то решение такое

создай файл index.hta
Код

<head>
<hta />
<script>
 window.onload = function () {
alert(frames[0].document.body.outerHTML);

}
</script>
</head>
<body>
<iframe src="http://yandex.ru" id="ooo" application="yes"></iframe>
</body>


запусти

-------------------------------------------------------------------------------


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

PM ICQ   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




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


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

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