页面如何判断它是否在本地 LAN 上提供服务?

How can a page tell if it is being served on local LAN?

我的项目是一个 Web 应用程序,用作带有徽标和快速链接的公司登录页面。

我想为本地 LAN 中的用户添加指向基于 LAN 的网页的额外链接,但如果页面在本地 LAN 之外提供,则隐藏这些链接。

我知道如何隐藏和展示东西 如何判断页面是在 LAN 内还是在 LAN 外提供?

到目前为止,这是我唯一想出的方法,但我不确定它是否有效。 (strings.left() 是我自己的函数之一,它从字符串左侧获取前 x 个字符)

protected void Page_Load(object sender, EventArgs e) {
    String thisipaddress = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];

    if (thisipaddress == "127.0.0.1" || strings.left(thisipaddress,7)=="192.168"){
        hiddenarea.Visible = true;
    } else {
        hiddenarea.Visible = false;
    }
}

我想我需要知道的是,使用我当前的代码,如果另一个 LAN 中的用户访问我的页面,我的代码会检测到他们的内部 IP 地址还是外部 IP 地址?

这样就可以了。它检测来自局域网外部的外部IP地址和来自局域网内部的内部IP地址。如果该页面是从具有匹配 IP 地址的外部 LAN 访问的,它仍然 returns 外部 LAN。

protected void Page_Load(object sender, EventArgs e) {
String thisipaddress = Request.UserHostAddress;   <-----THIS

if (thisipaddress == "127.0.0.1" || strings.left(thisipaddress,7)=="192.168"){
    hiddenarea.Visible = true;
} else {
    hiddenarea.Visible = false;
}

}

https://docs.microsoft.com/en-us/dotnet/api/system.web.httprequest.userhostaddress#System_Web_HttpRequest_UserHostAddress