【问题标题】:How to include a file from an HTTP address outside my server?如何在我的服务器外部包含来自 HTTP 地址的文件?
【发布时间】:2011-04-24 00:47:52
【问题描述】:

我刚刚阅读了有关 SSI 的小教程并设法展​​示了我想要的内容,但我想使用 http 路径指向此文件,以便可以将它与不同服务器中的站点一起使用。我该怎么做?

我要显示的文件路径是“http://chusmix.com/menubar/bar.html”

谢谢!

【问题讨论】:

    标签: include ssi


    【解决方案1】:

    如果您真的愿意,您可以编写一个 CGI 脚本,在所需的 url 上简单地调用 wgetcurl,并通过 virtual 包含调用来包含它。

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

    这是最安全的选择。如果你想做一些不太安全的事情,你可以通过直接调用 wget 或通过exec include 调用 curl 来实现。

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

    大多数托管服务提供商默认禁用 exec 调用,因为使用它确实不是一个好主意。不要使用它,而是使用虚拟调用。

    但老实说,仅包含这样的外部页面是非常不安全的,除非您碰巧还控制了另一台服务器上的页面。不要忘记其他页面可能包含 javascript,因此会对您页面的访问者做出不受欢迎的事情,他们隐含信任您,但可能不信任外部来源。

    【讨论】:

      【解决方案2】:

      您不能在 IIS 或 Apache 中使用 #include SSI 指令引用 URL。

      “包含”远程内容的唯一方法是使用 Javascript(可能使用 Ajax)或服务器端 HTTP 请求。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-06-02
        • 1970-01-01
        • 2013-04-18
        • 2016-08-04
        • 1970-01-01
        • 2016-12-15
        相关资源
        最近更新 更多