Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 28.10.2015, 19:46
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

optik77, никакие привилегии не нужны.

По сути получается следующая картина: мы с помощью file_get_contents получаем страницу яндекса и записывает это всё в переменную. Далее, в заголовке указываем, что на выходе у нас должен получиться JS-файл (text/javascript), хотя это не обязательно. Потом мы генерируем название ф-ции, которая будет вызвана (в нашем случае - yandexCallback), и в качестве параметра передаём в неё то, что получили от яндекса.

В итоге у нас получается JS файл примерно такого вида:

yandexCallback("<html><head>....</head><body>....</body></html>");


И мы подключаем этот файл предварительно объявив нашу ф-цию yandexCallback, и она будет вызвана из того самого файла. Как-то так.

P.S.: ещё нужно экранировать или удалить переносы строк, иначе будет ошибка:

yandexCallback("<html><head>...

</head><body>....</body></html>");

//Syntax error


Можно сделать вот так:
echo 'yandexCallback("' . addslashes(preg_replace(/[\n\r\f]+/, '', $content)) . '")';
Ответить с цитированием
  #12 (permalink)  
Старый 28.10.2015, 20:18
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от optik77
свой/не свой сервер?
Свой, этот тот которым вы можете управлять, в том числе заголовками, а что более важно разрешать доступ к нему только выше указанным адресам.

Чужой, это не ваш, сервером Яшки вы управлять не можете, и распоряжаться его контентом не получится.
Ответить с цитированием
  #13 (permalink)  
Старый 29.10.2015, 15:03
Интересующийся
Отправить личное сообщение для optik77 Посмотреть профиль Найти все сообщения от optik77
 
Регистрация: 02.06.2011
Сообщений: 16

Ruslan_xDD,
Прикол в том, что сделал я все как велели. Создал файл get_content.php
Сперва указал в качестве урла некий другой адрес, проверил работу, вызвал пхп, получил html код запрашиваемого ресурса. Указал свой нужный адрес сайта и получил в качестве кода некий штмл код из трех строк с тайтлом этого сайта и в боди указано 'невозможно выполнить запрошенную операцию'. Т.е видимо их сайт был готов что я функцией file_get_contents полезу к ним за кодом и аккуратно послали меня.

Help! Как еще можно их обмануть и выцепить злосчастный исходник?
Ответить с цитированием
  #14 (permalink)  
Старый 29.10.2015, 15:49
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от optik77
Как еще можно их обмануть и выцепить злосчастный исходник?
cURL или для file_get_contents задать контекст.
Ответить с цитированием
  #15 (permalink)  
Старый 29.10.2015, 16:24
Интересующийся
Отправить личное сообщение для optik77 Посмотреть профиль Найти все сообщения от optik77
 
Регистрация: 02.06.2011
Сообщений: 16

laimas,

Подскажите пожалуйста, как понять какой контекст составить?
Ответить с цитированием
  #16 (permalink)  
Старый 29.10.2015, 16:33
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

$stream = curl_init();
curl_setopt($stream, CURLOPT_HEADER, 0);
curl_setopt($stream, CURLOPT_USERAGENT, 'Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.9.168 Version/11.51');
curl_setopt($stream, CURLOPT_URL, 'http://yandex.ru/');
curl_setopt($stream, CURLOPT_TIMEOUT, 10);
curl_setopt($stream, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($stream, CURLOPT_FOLLOWLOCATION, 1);
$content = curl_exec($stream);
curl_close($stream);
Ответить с цитированием
  #17 (permalink)  
Старый 29.10.2015, 16:48
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Контекст собственно опции запроса, а вот что проверяет ресурс запрашиваемый, это нужно определять, это могут быть и куки, и реферер... Для file_get_contents контекст задается так.
Но в с случае кук лучше использовать cURL, и почитать об этом:
просто - http://www.odmin4eg.ru/2008/curl-cookie-cookies/
продвинуто - http://habrahabr.ru/post/133191/

Экспериментируйте пока не установите, что требует сервер.
Ответить с цитированием
  #18 (permalink)  
Старый 30.10.2015, 11:51
Интересующийся
Отправить личное сообщение для optik77 Посмотреть профиль Найти все сообщения от optik77
 
Регистрация: 02.06.2011
Сообщений: 16

Уважаемые, получилось с помощью курла!
Но только в ie.....*плач*
В файерфоксе пустой лист
Причем если в файрфоксе открыть мой сайт с пхп скриптом то он на экране отображает весь код:

GetHTMLcode("<html>...</html>")

А при отработке моей штмл страницы с рабочего стола-пустота, хотя в интернет эксплорере все работает!
?
Ответить с цитированием
  #19 (permalink)  
Старый 30.10.2015, 12:08
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от optik77
Причем если в файрфоксе открыть мой сайт с пхп скриптом

Это как, страницу с РНР сценарием? Ну а с чего бы оно выполнялось, для этого нужно локальный сервер иметь.
Ответить с цитированием
  #20 (permalink)  
Старый 30.10.2015, 15:36
Интересующийся
Отправить личное сообщение для optik77 Посмотреть профиль Найти все сообщения от optik77
 
Регистрация: 02.06.2011
Сообщений: 16

Разобрался, в файрфоксе не работало из за кодировки самого файла. Спасибо
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вставка HTML-страницы в другую HTML страницу hadzhimuratov (X)HTML/CSS 44 14.06.2012 18:04
Добавление нужного css-файла в html страницу в зависимости от ширины окна браузера UglyDemon Общие вопросы Javascript 1 24.12.2010 10:30
Загрузка внешнего html файл на страницу GRean (X)HTML/CSS 3 26.04.2010 14:16
Вставка скрипта в HTML страницу dorn Общие вопросы Javascript 5 14.10.2009 07:39
Удаленная работа на сайте через html страницу Sanches Общие вопросы Javascript 19 11.08.2009 13:21