2010-09-01 5 views
27

Quando si accede a un luogo con un hotspot WiFi (come Panera Bread) e si connette al mio iPhone, la pagina di accesso all'hotspot appare come popup. Cioè, non importa quale app sono in esecuzione o su quale pagina web sono attiva, la pagina di accesso si sposta dal basso verso l'alto, richiede le credenziali di accesso e quindi scompare.Come creare una pagina di accesso popup WiFi

Ma in alcuni altri hotspot, non ottengo la pagina di accesso finché non vado in Safari e provo a caricare una pagina web.

Qual è l'iPhone che cerca di farlo aprire la pagina di accesso in alcuni hotspot e non in altri? C'è un meta tag HTML speciale? O è legato al modo in cui viene implementato il reindirizzamento?

risposta

36

Sono riuscito a trovare il termine corretto per questo tipo di autenticazione: "Captive portal". La punzonatura su Captive Portal iPhone in Google ha rivelato alcuni dettagli tecnici da queste pagine: one, two, three.

per implementare una pagina di pop-up di accesso Wi-Fi:

  1. richiesta DNS per www.apple.com non deve fallire
  2. richiesta HTTP per http://www.apple.com/library/test/success.html con particolare user agent CaptiveNetworkSupport/1.0 wispr non deve tornare Success.

Non l'ho provato, ma suona bene.


commenti qui sotto menzione che iOS 7 comporta in modo diverso e può interrogare più di un server. Non ho provato questo. La cosa più semplice sarebbe semplicemente reindirizzare tutte le comunicazioni HTTP alla tua pagina di accesso e bloccare tutte le comunicazioni non HTTP.

rilevamento captive portal Microsoft s' uses something similar di controllare la validità iOS7 comportamento: la sua connettività di rete Indicatore di stato tenta di contattare http://www.msftncsi.com. Windows 8 e 8.1 anche include support for WISPr.

rilevamento captive portal Android s', come di AOSP 4.0.1, tries to contatto http://clients3.google.com/generate_204 o http://www.google.com/blank.html.

Quindi, per essere il più universale possibile, è sufficiente bloccare tutte le comunicazioni tranne l'autenticazione e includere il supporto WISPr nella pagina di accesso.

Direi "andare con un'autenticazione corretta sulla rete" - qualcosa di universale come PEAP + MSCHAPv2 - ma Windows rende molto doloroso per gli utenti configurarlo. Non so chi abbia pensato che "Usa i tuoi dettagli di autenticazione di Windows" rende un predefinito di default su macchine che non fanno parte di una rete di dominio aziendale, o anche perché "Verifica la validità del certificato" è un predefinito corretto, poiché la maggior parte delle reti non sarà considera la priorità di ottenere un certificato corretto.

+0

Buon lavoro! Accetterò la tua risposta, anche se non ho ancora le risorse per provarlo. –

+1

Ecco un articolo interessante che va più nel dettaglio: http://erratasec.blogspot.com/2010/09/apples-secret-wispr-request.html –

+0

ios7 non usa più il seguente url: http: // www .apple.com/library/test/success.html. è stato sostituito da un URL su www.ibook.info (http://www.ibook.info/). – sailor

-4

Sospetto che quando viene visualizzata la pagina di accesso il Wi-Fi utilizza EAP. Questo è un protocollo Wi-Fi per l'autenticazione. Nel caso in cui sia necessario accedere a una pagina Web, l'autenticazione sarà un accesso personalizzato implementato da un server (ad esempio a un livello superiore rispetto a EAP).

+2

errato. Ho visto questo anche su un hotspot; non è la tipica finestra di login EAP. Viene visualizzata una pagina HTML che richiede il login. Non sembra nemmeno richiedere la richiesta di essere via HTTP. L'applicazione corrente è sovrapposta alla pagina web di accesso. –

1

iOS 6 ha apparentemente risolto l'EAP WPA2 in quanto improvvisamente si apre la finestra di accesso ora.

Le nostre aziende Wi-Fi pubblica richiede l'accettazione dei termini per quanto riguarda il monitoraggio, ecc ho sempre dovuto aprire manualmente Safari su iPhone o iPad e navigare da qualche parte, che reindirizza a una pagina interna di accettazione e quando si fa clic sul pulsante Accetta sarebbe andare dove tu in origine eri diretto.

Oggi, ho aggiornato a iOS 6 ed è stato piacevolmente sorpreso di vedere la finestra di login scorrere verso l'alto dal basso e permettermi di fare clic sul pulsante Accetta senza nemmeno aprire Safari.