簡體   English   中英

強制門戶 - Apple 設備沒有自動彈出瀏覽器

[英]Captive portal - Apple devices not getting automatic browser popup

我在 Ubiquity Unifi 基礎設施上創建了一個自定義強制門戶(外部托管,使用 PHP 制作)。 一切正常,除了:

Apple 設備(OSX、iOS)在連接時不會通過強制門戶獲得通常的彈出窗口。

我的雇主要求這樣做。 有任何想法嗎?

我根據以下問題解決了我自己的問題: https ://serverfault.com/questions/679393/captive-portal-popups-the-definitive-guide

iOS 和 OSX 設備向 URL 發出請求以檢測強制門戶。 規則如下:

  1. 獲取/發布http://foo.com/bar.html
  2. 如果 bar.html == [預期內容] > 打開 Internet
  3. 如果 bar.html != [預期內容] > 強制門戶
  4. 如果 bar.html[status] != SUCCESS > No Network

但是,當他們第一次訪問強制門戶時,我使用 HTTP 標頭重定向用戶。 這不屬於上述任何規則,因此會阻止 Apple 設備檢測到存在強制門戶。

這是我的最終代碼,它從熱點提供的奇怪 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']);

如您所見,Apple 設備需要查看一些實際內容,而不是重定向。

我還將 .php 文件擴展名重寫為 .html。

希望這對其他人有幫助。

我剛剛意識到,如果在高級網絡配置中配置了自定義 DNS IP 地址,也會發生此問題。

檢查並修復,只需轉到

系統偏好設置 -> 網絡 -> WiFi -> 高級... -> DNS

並查看是否只有 IP 顯示為灰色(好),或者您的 IP 是否為正常(亮)字母(壞)

如果您找到自定義配置的 IP,只需單擊每個和窗口左下方的“-”按鈕。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM