Forum Webscript.Ru
Общие => Веб-технологии => Тема начата: Dem()n от 10 Января 2007, 11:15:40
-
Имеется хостинг с поддержкой CGI PHP4.XX, Perl, Java и т.п.
Нужет транслятор веб страниц, при обращении клиента к которому с параметром (к примеру: www.lambada-year.com&page="http://www.rambler.ru") на сервере в коде страницы отработали все скрипты и были перебиты все ссылки на адрес транслятора, так что бы весь трафик шел через этот сервер.
Вопрос как это сделать?
-
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-запрос, но это вы уже, если надо, изучите сами.
-
Спасибо CGVictor, с этим все понятно, но есть другой момент, когда часть странички формируется при момощи клиентского Java кода в момент отображения ее в броузере. И там тоже могут формироваться прямые ссылки мимо транслятора.
Если возможнасть отработать эти скрипты на сервере, потом выполнить подмену ссылок и результат отдать клиенту? Понимаю, что задача наверняка не тривиальная.
-
Dem()n
Если скрипт не меняет (намеренно) домен, или специально не оперирует тем, куда он обращается - то этот вопрос не возникнет и ссылка пройдет через скрипт. Если же такое не происходит, то это уже вопрос по каждому конкретному случаю.
-
Еще раз спасибо! Вообщем я согласен, что не все здесь так однозначно.
Еще вопрос: cуществует ли "в природе" серверный транслятор Active Page, работающий аналогично таму же IE или Mazila, что бы тот уже клиенту отправлял подготовленную статическую страницу с перебитыми ссылками.
-
Dem()n
Dem()n:
cуществует ли
Вряд ли. "Статическая страница" - понятие весьма относительное, а исполнение клиентского скрипта без клиенского агента (браузера) часто попросту теряет смысл.
Можно спуститься на уровень ниже и использовать любой кеширующий http-прокси. Чем плох такой вариант?
-
Вообщем по поводу скрипта все понятно.
Увы, ниже спуститься неполучиться т.к. на это однозначно не пойдет партнер, предоставляющий хостинг.
Спасибо за ответы на мои вопросы, они были достаточно исчерпывающие!