【问题标题】:Website Detect "In-House Access"网站检测“内部访问”
【发布时间】:2016-05-18 18:02:04
【问题描述】:

TL;DR:如何检测本地网站用户?

我有一个在我居住的学生楼中运行的自托管网站。在这个网站中,我想要一个页面和链接到某些本地应用程序,例如运行 Kodi 的 RPi 的远程网络、一个 FTP、一个页面指令等。

我不希望随机互联网用户看到这些内容,那么网站有什么方法可以检测用户是否从本地网络内部访问网站?最好用 JavaScript,但 PHP 也可以。

【问题讨论】:

    标签: web local


    【解决方案1】:

    在 PHP 中,它可以通过多种方式完成。最简单的方法是进行简单的 IP 检查。

    if ($_SERVER['REMOTE_ADDR'] = "10.1.0.25") {  // Internet IP or IP rangehere
       // Show links for internal users
    } else {
       // Show stuff for all other users
    }
    

    或者对于假设 192.168.1.x 地址的 IP 范围

    if ($_SERVER['REMOTE_ADDR'] >= "192.168.1.1" && $_SERVER['REMOTE_ADDR'] <= "192.168.1.1") {
      // Internal Info
    } else {
      // External Info
    }
    

    【讨论】:

    • 谢谢,这行得通。 REMOTE_ADDR通过内部服务器IP访问服务器时为192.168.x.x,如果通过DNS名称访问则返回路由器的WAN IP。追问:有没有办法找到服务器的WAN地址,可以和REMOTE_ADDR比较一下?我试过SERVER_ADDR,但它只给了内部服务器IP。
    • 我不知道有一个 PHP 函数可以轻松提供该信息。不过,我会得到纠正......
    猜你喜欢
    • 2015-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-11
    • 2011-10-28
    • 2018-06-06
    • 2018-11-26
    相关资源
    最近更新 更多