कैप्टिव पोर्टल पॉपअप: निश्चित गाइड [बंद]


13

मैं स्वयं वाईफाई कैप्टिव पोर्टल को लागू कर रहा हूं। मुझे एक अड़चन में काम करने के लिए बहुत कुछ मिला है: मैं चाहता हूं कि हर कोई अपने मोबाइल ओएस '(या कंप्यूटर ओएस') को एक निर्दोष अनुभव के लिए कैप्टिव पोर्टल पॉपअप के रूप में देखे।

चूंकि उनमें से हर एक का अपना स्वयं का मुड़ तरीका है, इसलिए मैं लगातार क्रॉस-प्लेटफ़ॉर्म अनुभव प्राप्त करने में असमर्थ हूं।

ऐसा करने के लिए, क्या मुझे या तो वर्णन करने में कुछ मदद मिल सकती है (1) वाईफाई क्लाइंट से URL अनुरोधों को एक लॉगिन पृष्ठ पर पुनर्निर्देशित करने की आवश्यकता है, और / या (2) क्या nginx या अपाचे वेब सर्वर कॉन्फ़िगरेशन का उपयोग वाईफाई को पुनर्निर्देशित करने के लिए किया जा सकता है एक लॉगिन पृष्ठ के लिए ग्राहक?

इस उदाहरण में मेरा कैप्टिव पोर्टल लॉगिन पेज http: //captiveportal.lan है । यहाँ कुछ ऑपरेटिंग सिस्टम हैं जिन्हें मैं इसके लिए हल करने की कोशिश कर रहा हूँ।


Android 4/5/6

  • अमरीका की एक मूल जनजाति:
    RedirectMatch 302 /generate_204 http://captiveportal.lan
  • नगीनक्स:?

पिछले Android संस्करण

  • अमरीका की एक मूल जनजाति: ?
  • नगीनक्स:?

iOS 8

  • अपाचे .htaccess:
    RewriteEngine on
    RewriteCond %{HTTP_USER_AGENT} ^CaptiveNetworkSupport(.*)$ [NC]
    RewriteRule ^(.*)$ http://captiveportal.lan [L,R=302]

  • नगीनक्स:?

पिछले iOS संस्करण

  • अमरीका की एक मूल जनजाति: ?
  • नगीनक्स:?


विंडोज फ़ोन

  • अमरीका की एक मूल जनजाति:
    RedirectMatch 302 /ncsi.txt http://captiveportal.lan
  • नगीनक्स:?


विंडोज 7 \ 8 \ 10

  • Apache: विंडोज़ फोन देखें (win7 पर काम करता है)।
  • नगीनक्स:?

मैक ओ एस

  • अमरीका की एक मूल जनजाति: ?
  • नगीनक्स:?

अमेज़न प्रज्वलित - क्या यह एक पॉपअप है?

  • अमरीका की एक मूल जनजाति: ?
  • नगीनक्स:?

5
नहीं, यह बहुत व्यापक नहीं है, यह केवल एक बहु-प्लेटफ़ॉर्म मुद्दा है। सबसे बहु मंच मुद्दा वहाँ हो सकता है, शायद। यह "उल्लेखनीय प्रश्न" स्थिति (2500 से अधिक बार देखा गया) तक भी पहुंच गया है, इसलिए लोग वास्तव में इसमें रुचि रखते हैं और आप शर्म के लिए योगदान देने से रोककर सभी के लिए एक बड़ा असंतोष प्रदान कर रहे हैं!
पप्पाराडॉक्स

इस पोस्ट के लिए आपको बहुत - बहुत धन्यवाद; इसने मुझे यह करने की अनुमति दी। unix.stackexchange.com/questions/386242/…
रुई एफ रिबेरो

जवाबों:


6

सभी मोबाइल OS बस एक कैप्टिव पोर्टल के पीछे हैं या नहीं, यह तय करने के लिए एक वेब पेज की जाँच करें।

तंत्र यह है:

  1. GET / POST http://foo.com/bar.html
  2. यदि bar.html == [अपेक्षित सामग्री]> इंटरनेट खोलें
  3. यदि bar.html! = [अपेक्षित सामग्री]> कैप्टिव पोर्टल
  4. यदि bar.html [स्थिति]! = SUCCESS> कोई नेटवर्क नहीं है

इसके अलावा, iOS के लिए, आपको अपने वाईफाई नेटवर्क के लिए एक डोमेन होना चाहिए क्योंकि यह एक बिना नेटवर्क वाले नेटवर्क को मानता है जो कि एक होम नेटवर्क है और बस इसे कैप्टिव पोर्टल के बजाय नो नेटवर्क के रूप में चिह्नित करता है।

HTTP सफलता के साथ अपने कैप्टिव पोर्टल पर निम्न यूआरएल को स्पष्ट रूप से पुनर्निर्देशित करना सुनिश्चित करें:

Android / Chromebook:

  • clients3.google.com

iOS 6:

  • gsp1.apple.com
  • * .akamaitechnologies.com

आईओएस 7:

  • www.appleiphonecell.com
  • www.airport.us
  • * .apple.com.edgekey.net
  • * .akamaiedge.net
  • * .akamaitechnologies.com

iOS 8/9:

खिड़कियाँ

  • ipv6.msftncsi.com
  • www.msftncsi.com

कई विक्रेताओं ने उपयोगकर्ता एजेंट "कैप्टिव नेटवर्क्सअपोर्ट" का उपयोग करना भी शुरू कर दिया है, हालांकि यह ऊपर दिए गए URL विधि के समान सामान्य नहीं है। बस उस यूए के लिए जांचें और हमेशा इसे अपना पोर्टल पृष्ठ दें ... हालांकि 100% काम नहीं करता है।

मैं URL विधि का उपयोग करता हूं और यह ठीक काम कर रहा है।


कुछ कार्यशील वेबसर्वर conf \ फ़ायरवॉल नियम \ php स्निपेट्स जो आप पॉपअप प्राप्त करने के लिए उपयोग करते हैं, साझा करने के लिए देखभाल?
papparadox

ऐसा लगता है कि Android v6 एक अलग url का उपयोग कर रहा है।
connectcheck.gstatic.com

आपको परीक्षण URL को स्पष्ट रूप से पुनर्निर्देशित क्यों करना होगा? जब तक उपयोगकर्ता लॉग इन नहीं करेगा, तब तक क्या आप हर URL के लिए लॉगिन पृष्ठ की सेवा नहीं करेंगे?
एशेल्ली

3

अमेज़न प्रज्वलित (आग)

अमेज़ॅन किंडल (फायर) निम्नलिखित अनुरोध करता है, और अगर इसे पुनर्प्राप्त नहीं किया जा सकता है "... यह मानता है कि उपयोगकर्ता को लॉगिन करना है और लॉग इन स्क्रीन को फेंकता है।"

iOS 8.4

नवीनतम iOS के लिए मुझे http://captive.apple.com के अनुरोधों के लिए सभी URI से मिलान करना था - न कि केवल "/hotspot-detect.html"।

आईओएस 8.4 ग्राहकों यादृच्छिक रूप से जनरेट यूआरआई अनुरोध कर रहे हैं (उदाहरण के लिए "/xmqPyZUv/3r8jTjv8.html" और "/7exN0TV7q0COX0/eKlBU8baU2tape/fjXUzDHBdE6W0O/BGbw7iYU2DVBh1/sVBlx8icYzTTtE.html") निम्न डोमेन के लिए URL अनुरोध किसी कैप्टिव पोर्टल पता लगाने के लिए:


1
क्या iOS 8.4 ने UserAgent को "CaptiveNetworkSupport" पर सेट किया है? कुछ कार्यशील वेबसर्वर conf \ फ़ायरवॉल नियम \ php स्निपेट्स जो आप पॉपअप प्राप्त करने के लिए उपयोग करते हैं, साझा करने के लिए देखभाल? इसके अलावा, किसी ने आपको समझाए बिना परेशान क्यों किया है? बेवकूफ लोग ...
papparadox

सटीक एजेंट स्ट्रिंग "CaptiveNetworkSupport-277.10.5 समझदारी" है। जब मैं इन अनुरोधों (इस प्रश्न में सूचीबद्ध) को एक लॉगिन पृष्ठ पर पुनर्निर्देशित करता हूं, तो Apple iOS एक लॉगिन पृष्ठ को पॉप अप करेगा, और एंड्रॉइड एक लॉगिन हेडर बार दिखाएगा। लॉगिन पेज पर सफलतापूर्वक लॉग इन करने के बाद, कैप्टिव पोर्टल सिस्टम को पॉपअप विंडो और लॉगिन बार को गायब करने के लिए इन HTTP अनुरोधों को सफल होने देना चाहिए। मैंने इसे सफलतापूर्वक एक कस्टम कैप्टिव पोर्टल में परीक्षण किया है, जिसे मैंने केवल लिनक्स, डीएनएसमैस्क और अपाचे httpd सर्वर का उपयोग करके बनाया है।
रसेल ई Glaue

यह पूछना भूल गया कि क्या किंडल उस उपयोगकर्ता एजेंट को भी सेट करता है।
पप्पाराडॉक्स

1
किंडल के लिए मैं "Dalvik / 2.1.0 (लिनक्स; यू; एंड्रॉइड 5.0.1; वीएस 985 4 जी बिल्ड / एलआरएक्स 21 वाई)" देख रहा हूं (शायद यह एक किंडल ऐप है?)। यह थ्रेड mobileread.com/forums/showthread.php?t=188439 कहता है "मोज़िला /.0 (लिनक्स; iPhone की तरह; यू; एन-यूएस) AppleWebKit / 528.5 + (KHTML, जैसे कीको, सफारी / 528.5 +) संस्करण / 4.0 "
रसेल ई ग्लौ

1
@ppparadox मुझे नहीं पता कि मैंने पोस्ट करने के बाद नीचे वोट सेकंड क्यों पाए। यदि आपको मेरा योगदान पसंद है, तो कृपया मुझे अपवोट दें। धन्यवाद।
रसेल ई Glaue
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.