V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
poorcai
0.01D
V2EX  ›  问与答

如何判断当前访问系统的用户,是否与系统在同一个内网

  •  
  •   poorcai · Nov 15, 2017 · 2291 views
    This topic created in 3097 days ago, the information mentioned may be changed or developed.

    C#新手,最近遇到一个需求,就是如何判断访问系统的用户的所处环境,是系统的内网?

    我能想到的是判断当前用户的 IP,与系统服务器的 IP 进行对比,但是也不知道怎么做,网上搜的东西好像也没什么用。所以还请各位老哥老姐给点指导,多谢了。

    需求截图如下:

    需求.png

    5 replies    2017-11-15 19:13:33 +08:00
    xomix
        1
    xomix  
       Nov 15, 2017
    内网外网两个 dns,两个域名,根据过来的域名判断即可。
    gamexg
        2
    gamexg  
       Nov 15, 2017
    同一子网还是?
    同一子网直接查询服务器 ip+子网掩码,然后 服务器 ip & 掩码 获得服务器网络地址,客户 ip & 掩码得到客户网络地址,一致表示在同一子网。
    但是如果存在多个内网,这样就判断不出来了,另一方案:、。
    直接判断客户地址是不是保留地址就能确定是不是内网。

    另外还需要小心有可能有些网关转发时会把源地址改成自己,最好排除默认网关。
    580a388da131
        3
    580a388da131  
       Nov 15, 2017
    既然是需要内网登录,那怎么进去的登录页面,不太理解。。。难道这个页面还和其它系统共享么?
    poorcai
        4
    poorcai  
    OP
       Nov 15, 2017 via iPhone
    @xomix @gamexg 感谢解惑
    poorcai
        5
    poorcai  
    OP
       Nov 15, 2017 via iPhone
    @580a388da131 公网的,不是说需要内网登录
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1467 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 17:09 · PVG 01:09 · LAX 10:09 · JFK 13:09
    ♥ Do have faith in what you're doing.