Ios 捕获门户-苹果设备未获得自动浏览器弹出窗口

Ios 捕获门户-苹果设备未获得自动浏览器弹出窗口,ios,macos,wifi,captivenetwork,captiveportal,Ios,Macos,Wifi,Captivenetwork,Captiveportal,我已经在Ubiquity Unifi基础设施上创建了一个定制的捕获门户(外部托管,使用PHP制作)。一切正常,除了: 苹果设备(OSX、iOS)在连接时无法获得附带门户的常见弹出窗口。 我的雇主要求这样做。有什么想法吗?我根据以下内容解决了自己的问题: iOS和OSX设备向URL发出请求,以检测捕获的门户。规则如下: 获取/发布 如果bar.html==[预期内容]>打开Internet 如果bar.html!=[预期内容]>捕获门户 如果bar.html[状态]!=成功>无网络 然而,当用户第

我已经在Ubiquity Unifi基础设施上创建了一个定制的捕获门户(外部托管,使用PHP制作)。一切正常,除了:

苹果设备(OSX、iOS)在连接时无法获得附带门户的常见弹出窗口。


我的雇主要求这样做。有什么想法吗?

我根据以下内容解决了自己的问题:

iOS和OSX设备向URL发出请求,以检测捕获的门户。规则如下:

  • 获取/发布
  • 如果bar.html==[预期内容]>打开Internet
  • 如果bar.html!=[预期内容]>捕获门户
  • 如果bar.html[状态]!=成功>无网络
  • 然而,当用户第一次访问捕获门户时,我正在使用HTTP头重定向用户。这不属于上述任何规则,因此苹果设备无法检测到有一个专属门户

    这是我的最后一段代码,它从热点提供的奇怪URL重定向到我的门户:

    <?php
    /* Trying to get Apple to show the WiFi popup */
    if (!empty($_REQUEST['url']) && (strstr($_REQUEST['url'],'success.html') || strstr($_REQUEST['url'],'detect.html'))) {
        echo '
        Redirecting...
        <script type="text/javascript">
        window.location = "/index.html";
        </script>';
        exit;
    }
    
    header("Location:/index.html?". $_SERVER['QUERY_STRING']);
    

    我根据以下内容解决了自己的问题:

    iOS和OSX设备向URL发出请求,以检测捕获的门户。规则如下:

  • 获取/发布
  • 如果bar.html==[预期内容]>打开Internet
  • 如果bar.html!=[预期内容]>捕获门户
  • 如果bar.html[状态]!=成功>无网络
  • 然而,当用户第一次访问捕获门户时,我正在使用HTTP头重定向用户。这不属于上述任何规则,因此苹果设备无法检测到有一个专属门户

    这是我的最后一段代码,它从热点提供的奇怪URL重定向到我的门户:

    <?php
    /* Trying to get Apple to show the WiFi popup */
    if (!empty($_REQUEST['url']) && (strstr($_REQUEST['url'],'success.html') || strstr($_REQUEST['url'],'detect.html'))) {
        echo '
        Redirecting...
        <script type="text/javascript">
        window.location = "/index.html";
        </script>';
        exit;
    }
    
    header("Location:/index.html?". $_SERVER['QUERY_STRING']);
    

    如果bar.html!=[预期内容]>专属门户
    :预期内容应该是什么?为了使移动设备具有iOS,识别专属门户,必须定义哪些内容?对我来说似乎有点模糊。。。我在想,iOS是否可以像Android一样工作,从URL获得
    204
    。@ivanleoncz你试过这个吗?似乎苹果需要一些内容(不管是什么),而不是没有主体的重定向。我会试试这个,因为我也有同样的问题。不@SandroAntonucci,我没有。实际上,我正在为一个用Python编写的CaptivePortal做一个项目,作为Squid的守卫。我只是刚刚开始,但您可以跟踪进度,考虑到这个主题,我可能会创建一些方法。我可以确认这是有效的,同样对于iOS 7,我测试了它在captive.apple.com中检查随机URL,你可以用你的Web服务器进行302重写,将该主机的每个请求重定向到同一页面。iOS 10检查热点检测。htmlI正在使用iptables拦截数据包并将其重定向到Web服务器的ip地址,但它不起作用。它可以在android、linux和windows上运行。没有测试过其他移动操作系统,但肯定无法与ios配合使用。
    If bar.html!=[预期内容]>专属门户
    :预期内容应该是什么?为了使移动设备具有iOS,识别专属门户,必须定义哪些内容?对我来说似乎有点模糊。。。我在想,iOS是否可以像Android一样工作,从URL获得
    204
    。@ivanleoncz你试过这个吗?似乎苹果需要一些内容(不管是什么),而不是没有主体的重定向。我会试试这个,因为我也有同样的问题。不@SandroAntonucci,我没有。实际上,我正在为一个用Python编写的CaptivePortal做一个项目,作为Squid的守卫。我只是刚刚开始,但您可以跟踪进度,考虑到这个主题,我可能会创建一些方法。我可以确认这是有效的,同样对于iOS 7,我测试了它在captive.apple.com中检查随机URL,你可以用你的Web服务器进行302重写,将该主机的每个请求重定向到同一页面。iOS 10检查热点检测。htmlI正在使用iptables拦截数据包并将其重定向到Web服务器的ip地址,但它不起作用。它可以在android、linux和windows上运行。没有测试过其他移动操作系统,但肯定无法与ios配合使用。您是否使用内部托管的控制器或云控制器?什么环境?linux?窗户?版本?您使用的是内部托管的控制器还是云控制器?什么环境?linux?窗户?版本