Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Взять информацию из iframe
 
 автор: Diplex   (06.04.2010 в 15:14)   письмо автору
 
 

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

Вопрос: как из фрейма получить код страницы(чтобы можно было его обработать), которая там загрузилась.

Заранее спасибо!!

  Ответить  
 
 автор: sl1p   (06.04.2010 в 15:32)   письмо автору
 
   для: Diplex   (06.04.2010 в 15:14)
 

если честно не помню можно ли получить с ифрейма инфу со стороннего сайта или нет, но пробуйте
так document.frames['frameName'].body.innerHTML;

  Ответить  
 
 автор: Diplex   (06.04.2010 в 15:46)   письмо автору
 
   для: sl1p   (06.04.2010 в 15:32)
 

Попробовал так, не получилось:

<iframe name="ffff" src=http://softtime.ru/></iframe>
<script type="text/javascript">
alert(document.frames['ffff'].body.innerHTML);
</script>

  Ответить  
 
 автор: sl1p   (06.04.2010 в 16:05)   письмо автору
 
   для: Diplex   (06.04.2010 в 15:46)
 

ещё такой вариант window.frames['frameName'].document.body.innerHTML

но всё таки помоему невозможно получить хтмл стороннего сайта изза безопасности, онли локалка.

  Ответить  
 
 автор: Diplex   (06.04.2010 в 22:17)   письмо автору
 
   для: sl1p   (06.04.2010 в 16:05)
 

Не получается (пустой результат). А то что возможно - это точно. Такие манипуляции делают для того, чтобы украсть какие-то куки и т.д... но мне нужно для других манипуляций, просто, чтобы запрос к странице был именно от пользователя, а не от моего сервера (страница генерируется таким образом, что то, что на ней сгенерировалось, доступно только для ip, с которого обратились к странице)... может есть какой другой способ?

  Ответить  
 
 автор: АЯ   (06.04.2010 в 22:48)   письмо автору
 
   для: Diplex   (06.04.2010 в 22:17)
 

Какая-то ерунда у вас написана.
По принципу - "слышал звон".

Правильные ответы:
1. Средствами JS в HTML-формате прочитать содержимое "чужих" файлов НЕЛЬЗЯ.

2. Прочитать содержимое чужих файлов можно только серверными средствами, послав чужому серверу запрос, имитирующий браузерный (в т. ч. отправив нужные куки).

3. Насчёт IP - у вас вообще невообразимая муть написана.

  Ответить  
 
 автор: Diplex   (06.04.2010 в 23:13)   письмо автору
 
   для: АЯ   (06.04.2010 в 22:48)
 

Ну если бы всё знал и понимал - то тему бы не создавал.

> 3. Насчёт IP - у вас вообще невообразимая муть написана.

На стороннем сайте контент генерируется в зависимости от ip. Т.е. адрес страницы для всех один и тот же, но содержимое страницы разное. Именно от ip, а не от пары логин/пароль и тому-подобное.

> 2. Прочитать содержимое чужих файлов можно только серверными средствами, послав чужому серверу запрос, имитирующий браузерный (в т. ч. отправив нужные куки).

Имитировать браузер я могу, но имитировать обращение от какого-то конкретного ip - пока не научился....

1. Средствами JS в HTML-формате прочитать содержимое "чужих" файлов НЕЛЬЗЯ.

Да, слышал звон, и пытаюсь разобраться в нём. Но, то что через iframe удавалось загрузить сторонний сайт без ведома пользователя, каким-то образом взять куки и через второй iframe, отправить те самые куки на "хакерский" сервер - это не миф...

p.s. В итоге, не получилось мне увидеть содержимое чужих страниц, только локальные страницы получается "просмотреть". Если кто знает, как решить задачу любым способом, буду рад услышать это (основа - обращение должно быть от пользователя на прямую, а мне лишь получить содержимое(код) страницы)!

  Ответить  
 
 автор: sl1p   (07.04.2010 в 00:48)   письмо автору
 
   для: Diplex   (06.04.2010 в 23:13)
 

загрузить сторонний сайт без ведома пользователя, каким-то образом взять куки и через второй iframe

это делается совсем по другому и это уже помоему пофиксили

  Ответить  
 
 автор: Diplex   (07.04.2010 в 16:39)   письмо автору
 
   для: sl1p   (07.04.2010 в 00:48)
 

Знаю, но для начала надо попробовать на "непофиксеных" сайтах, как это работает, а потом глядишь, и обойдёшь защиту :)

  Ответить  
 
 автор: sl1p   (07.04.2010 в 17:04)   письмо автору
 
   для: Diplex   (07.04.2010 в 16:39)
 

такой баг был только в ие6 :Р там пофиксили:)

  Ответить  
 
 автор: Diplex   (07.04.2010 в 19:42)   письмо автору
 
   для: sl1p   (07.04.2010 в 17:04)
 

Хм, я думал, что всё будет проще :) Придётся обломиться :)

  Ответить  
 
 автор: АЯ   (07.04.2010 в 22:07)   письмо автору
 
   для: Diplex   (07.04.2010 в 19:42)
 

Прочитать содержимое чужого файла можно с помощью серверного скрипта, написанного, например, на PHP. Так что обращайтесь на соответствующий форум.

  Ответить  
 
 автор: Diplex   (08.04.2010 в 19:24)   письмо автору
 
   для: АЯ   (07.04.2010 в 22:07)
 

Вы меня не слушаете совершенно, или я чего-то недопонимаю.
Как мне сделать, чтобы человек, находился на моём сайте и от его ip шли запросы на нужный сайт, если требуются куки, то они берутся из браузера юзера, а мне получить в ответ содержимое страницы, обработать результат и выдать пользователю в нужном для меня виде. Это возможно?

  Ответить  
 
 автор: АЯ   (08.04.2010 в 20:38)   письмо автору
 
   для: Diplex   (08.04.2010 в 19:24)
 

Повторяю - это ВОЗМОЖНО.

Например, в следующем виде:
1. пользователь заходит на ваш сайт, в котором есть ифрейм, в SRC которого прописан URL вашего PHP-файла, например, с именем myfile.php;
2. файл myfile.php в фоновом режиме (т. е. не показывая пользователю) прочитывает "чужую" страницу, сохраняет ее HTML-код в какой-то внутренней PHP-переменной, обрабатывает эту переменную и затем возвращает пользователю обработанный результат в HTML-виде.

IP в этом случае при запросе "чужой" страницы автоматически будет "пользовательский".
Насчет "кук" сложнее - но тоже реализуемо.

Как именно это делать - интересуйтесь на форуме PHP.
----

Всё тоже самое на Javascript'e сделать тоже можно, но только в HTA-режиме - это когда ваш файл будет иметься только в единственном экземпляре и только на вашем компьютере. И вы будете единственным (и неповторимым) пользователем с вашим собственным IP.

  Ответить  
 
 автор: Diplex   (09.04.2010 в 11:53)   письмо автору
 
   для: АЯ   (08.04.2010 в 20:38)
 

Спасибо за подробный ответ!
И давно здесь стало такое жесткое ограничение по разделам, ведь можно помочь и здесь, а модератор перенесет куда он считает нужным...

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования