【问题标题】:Only allow users on page if IP address is approved如果 IP 地址被批准,则仅允许用户在页面上
【发布时间】:2019-10-05 19:06:15
【问题描述】:

如何制作只允许页面上出现特定 IP 地址的 HTML(和 CSS/PHP/JavaScript)文档?

(我不是问如何用 PHP 查找 IP 地址,而是如何允许基于 IP 地址访问页面。)

【问题讨论】:

标签: javascript php html


【解决方案1】:

把它放在你的 php 文件的顶部,并用你想要允许的 IP 更新 allowedIps 变量。

$allowedIps = ['198.x.x.x', '200.x.x.x'];
$userIp = $_SERVER['REMOTE_ADDR'];

if (!in_array($userIp, $allowedIps)) {
    exit('Unauthorized');
}

对于非 PHP 文件(例如 .html、.css),您必须更新您的 .htaccess 文件以添加文件特定权限。以下 SOF 线程应该会有所帮助:(假设您使用的是 apache 服务器)

.htaccess: how to restrict access to a single file by IP?

【讨论】:

  • 是的,但是我如何将它包含在 HTML 中?
  • 对于 HTML 文件,您必须允许/拒绝来自 .htaccess 文件的 IP 地址
  • @INTERESTING 刚刚更新了我的答案。希望这会有所帮助
【解决方案2】:

如果您不想打扰代码,请将您的网站放在 Cloudflare 上并阻止 ips

【讨论】:

    【解决方案3】:

    用 PHP 试试这个:

    function CheckIPAccess() {
      //allowed IP. Change it to the IP addresses you want to allow to access your webpage
    
      $allowedip = '127.0.0.1';
      $ip = $_SERVER['REMOTE_ADDR'];
      return ($ip == $allowedip);
    }
    

    【讨论】:

      【解决方案4】:

      通常,IP 限制是在网络服务器配置级别完成的,因此未经授权的 IP 根本无法访问您的代码。

      尝试在您的应用程序中进行这种检查实际上会很麻烦——“你无疑会错过一个”——但服务器可以轻松地为你完成。

      (我不建议尝试使用 IP 进行权限检查等等……“IP 更改。经常。非常混乱。非常……”)

      更强大的是防火墙,也许还有 VPN。您确实希望尽可能远离入侵者,并尽可能少地向他们提供信息。 (例如,为什么他们甚至应该能够检测到网络服务器存在?) 努力使整个设置尽可能“硬化”。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-04-03
        • 2011-06-28
        • 2013-02-01
        • 2015-12-24
        • 1970-01-01
        • 2016-07-23
        • 2019-01-23
        相关资源
        最近更新 更多