如何包含来自我的服务器外部的 HTTP 地址的文件?
我刚刚阅读了有关 SSI 的一些教程,并设法展示了我想要的内容,但我想使用 http 路径来指向此文件,以便我可以将它与不同服务器中的站点一起使用。我该怎么做呢?
我要显示的文件的路径是“http://chusmix.com/menubar/bar.html”
谢谢!
I just read a little tutorial on SSI and managed to show what I wantedbut I'd like to use an http path to point at this file so I can use it with sites in differente servers. How can I do it?
The path of the file I want to show is "http://chusmix.com/menubar/bar.html"
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您确实愿意,可以编写一个 CGI 脚本,只需在所需的 url 上调用
wget
或curl
并通过virtual
包含它> 包括通话。这是最安全的选择。如果您想做一些不太安全的事情,您可以通过直接调用 wget 或通过
exec
include 调用来完成。大多数托管提供商默认禁用 exec 调用,因为使用它确实不是一个好主意。不要使用它,而是使用虚拟调用。
但说实话,仅仅包含这样的外部页面是非常不安全的,除非您碰巧也控制其他服务器上的页面。不要忘记,其他页面可能包含 javascript,因此会对您页面的访问者执行不良操作,这些访问者隐式信任您,但可能不信任外部源。
If you really want to, you can write up a CGI script that simply calls
wget
orcurl
, on the desired url and include it via avirtual
include call.That's the safest bet. If you want to do something a little less secure, you can do it via a direct call to wget or curl via an
exec
include call.Most hosting providers disable the exec call by default because it really isn't a good idea to use it. Don't use it, use a virtual call instead.
But to be honest, just including external pages like that is pretty unsafe, unless you happen to also control the page on the other server. Don't forget that the other page could contain javascript and hence do undesirable things to visitors of your page, who implicitly trust you, but maybe not the external source.
您无法在 IIS 或 Apache 中使用 #include SSI 指令引用 URL。
“包含”远程内容的唯一方法是使用 Javascript(可能使用 Ajax)或服务器端 HTTP 请求。
You cannot reference a URL with the #include SSI directive in either IIS or Apache.
The only way to "include" remote content is to use Javascript (possibly with Ajax) or a server-side HTTP request.