Как включить файл с HTTP-адреса вне моего сервера? - PullRequest
0 голосов
/ 24 апреля 2011

Я только что прочитал небольшое руководство по SSI и смог показать, что я хотел, но я хотел бы использовать http-путь, чтобы указать на этот файл, чтобы я мог использовать его с сайтами на разных серверах.Как я могу это сделать?

Путь к файлу, который я хочу показать: "http://chusmix.com/menubar/bar.html"

Спасибо!

Ответы [ 2 ]

0 голосов
/ 07 ноября 2014

Если вы действительно хотите, вы можете написать CGI-скрипт, который просто вызывает wget или curl по желаемому URL-адресу и включает его с помощью virtual include.

<!--#include virtual="/cgi-bin/url_getter.cgi?url=YOUR_URL" --> 

Это самая безопасная ставка.Если вы хотите сделать что-то менее безопасное, вы можете сделать это с помощью прямого вызова wget или curl с помощью exec include.

<!--#exec cmd="wget YOUR_URL" --> 

Большинство провайдеров хостинга по умолчанию отключают вызов exec, потому чтоэто действительно не очень хорошая идея использовать его.Не используйте его, вместо этого используйте виртуальный вызов.

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

0 голосов
/ 24 апреля 2011

Нельзя ссылаться на URL с помощью директивы #include SSI в IIS или Apache.

Единственный способ «включить» удаленный контент - это использовать Javascript (возможно, с Ajax) или HTTP-запрос на стороне сервера.

...