Forum Webscript.Ru

Общие => Веб-технологии => Тема начата: Dem()n от 10 Января 2007, 11:15:40

Название: Создание Web Page ретранслятора
Отправлено: Dem()n от 10 Января 2007, 11:15:40
Имеется хостинг с поддержкой CGI PHP4.XX, Perl, Java и т.п.
Нужет транслятор веб страниц, при обращении клиента к которому с параметром (к примеру: www.lambada-year.com&page="http://www.rambler.ru") на сервере в коде страницы отработали все скрипты и были перебиты все ссылки на адрес транслятора, так что бы весь трафик шел через этот сервер.

Вопрос как это сделать?
Название: Создание Web Page ретранслятора
Отправлено: CGVictor от 10 Января 2007, 20:07:41
Dem()n

[off]если речь идет о PHP[/off]

Навскидку:

if(isset($_GET["page"])) {
  $page = file_get_contents($_GET["page"]);
  $page = str_replace("http://","http://lambada.com/script.php?page=http://",$page);
  echo($page);
}

Надеюсь, общая мысль ясна.

Не забудьте:
- urlencode для ссылок
- вопросы безопасности (я могу передать в "page" что-то вроде ./../.htaccess и т.п.)

А по хорошему лучше использовать [p]fsockopen[/p] и полноценно формировать http-запрос, но это вы уже, если надо, изучите сами.
Название: Создание Web Page ретранслятора
Отправлено: Dem()n от 11 Января 2007, 10:27:26
Спасибо CGVictor, с этим все понятно, но есть другой момент, когда часть странички формируется при момощи клиентского Java кода в момент отображения ее в броузере. И там тоже могут формироваться прямые ссылки мимо транслятора.
Если возможнасть отработать эти скрипты на сервере, потом выполнить подмену ссылок и результат отдать клиенту? Понимаю, что задача наверняка не тривиальная.
Название: Создание Web Page ретранслятора
Отправлено: CGVictor от 11 Января 2007, 15:19:36
Dem()n
Если скрипт не меняет (намеренно) домен, или специально не оперирует тем, куда он обращается - то этот вопрос не возникнет и ссылка пройдет через скрипт. Если же такое не происходит, то это уже вопрос по каждому конкретному случаю.
Название: Создание Web Page ретранслятора
Отправлено: Dem()n от 11 Января 2007, 17:27:07
Еще раз спасибо! Вообщем я согласен, что не все здесь так однозначно.
Еще вопрос: cуществует ли "в природе" серверный транслятор Active Page, работающий аналогично таму же IE или Mazila, что бы тот уже клиенту отправлял подготовленную статическую страницу с перебитыми ссылками.
Название: Создание Web Page ретранслятора
Отправлено: CGVictor от 11 Января 2007, 18:36:16
Dem()n
Цитировать
Dem()n:
cуществует ли

Вряд ли. "Статическая страница" - понятие весьма относительное, а исполнение клиентского скрипта без клиенского агента (браузера) часто попросту теряет смысл.

Можно спуститься на уровень ниже и использовать любой кеширующий http-прокси. Чем плох такой вариант?
Название: Создание Web Page ретранслятора
Отправлено: Dem()n от 15 Января 2007, 10:08:05
Вообщем по поводу скрипта все понятно.
Увы, ниже спуститься неполучиться т.к. на это однозначно не пойдет партнер, предоставляющий хостинг.
Спасибо за ответы на мои вопросы, они были достаточно исчерпывающие!