【发布时间】:2014-05-18 04:34:02
【问题描述】:
情况是我在 IIS 7.5 上安装了 WordPress,它通过代理访问互联网,网站的某些部分将发出客户端外部请求(图像、YouTube 视频等),需要用户输入他们的代理如果他们通过 Intranet 访问该站点,则提供凭据。
如果通过 Intranet 访问,我想隐藏该网站的某些元素,如果通过 Internet 访问,我想使其完全正常运行。
我发现 this SO answer 有点帮助(是的,由于 IIS,我将其更改为 LOCAL_ADDR)但由于代理而失败。
对站点的 Internet 请求通过在同一网络上的代理,因此它认为每个请求都是 Intranet 请求。
那么,如果我知道代理 IP,如何改进此功能以适应我的情况?
function is_intranet() {
$serverIP = explode('.',$_SERVER['LOCAL_ADDR']);
$localIP = explode('.',$_SERVER['REMOTE_ADDR']);
return (
($serverIP[0] == $localIP[0]) &&
(in_array($serverIP[0],array('127','10','172','192') ) )
);
}
【问题讨论】:
标签: php wordpress iis proxy http-proxy