【发布时间】:2011-04-24 00:47:52
【问题描述】:
我刚刚阅读了有关 SSI 的小教程并设法展示了我想要的内容,但我想使用 http 路径指向此文件,以便可以将它与不同服务器中的站点一起使用。我该怎么做?
我要显示的文件路径是“http://chusmix.com/menubar/bar.html”
谢谢!
【问题讨论】:
我刚刚阅读了有关 SSI 的小教程并设法展示了我想要的内容,但我想使用 http 路径指向此文件,以便可以将它与不同服务器中的站点一起使用。我该怎么做?
我要显示的文件路径是“http://chusmix.com/menubar/bar.html”
谢谢!
【问题讨论】:
如果您真的愿意,您可以编写一个 CGI 脚本,在所需的 url 上简单地调用 wget 或 curl,并通过 virtual 包含调用来包含它。
<!--#include virtual="/cgi-bin/url_getter.cgi?url=YOUR_URL" -->
这是最安全的选择。如果你想做一些不太安全的事情,你可以通过直接调用 wget 或通过exec include 调用 curl 来实现。
<!--#exec cmd="wget YOUR_URL" -->
大多数托管服务提供商默认禁用 exec 调用,因为使用它确实不是一个好主意。不要使用它,而是使用虚拟调用。
但老实说,仅包含这样的外部页面是非常不安全的,除非您碰巧还控制了另一台服务器上的页面。不要忘记其他页面可能包含 javascript,因此会对您页面的访问者做出不受欢迎的事情,他们隐含信任您,但可能不信任外部来源。
【讨论】:
您不能在 IIS 或 Apache 中使用 #include SSI 指令引用 URL。
“包含”远程内容的唯一方法是使用 Javascript(可能使用 Ajax)或服务器端 HTTP 请求。
【讨论】: