问题标签 [captiveportal]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 为什么无法在 android 强制门户浏览器上下载图像?
我使用强制门户浏览器制作了图片优惠券下载服务。因此,我使用下载 html5 标签制作了优惠券下载页面。
这在PC上运行良好,但在移动设备上不起作用。
我能怎么做?
谢谢。
firefox - ZAP Detectportal.firefox.com
我已将 network.captive-portal-service.enabled 设置为 false。当我尝试使用 Firefox 在我手动浏览的 URL 上运行默认的 AJAX 蜘蛛时,它会使用 detectportal.firefox.com 启动一个新窗口并挂起蜘蛛,因为这是禁止脱离上下文的。然后,我检查了关于 ZAP 打开的窗口的 about:config,network.captive-portal-service.enabled 设置为 true。
我该如何规避这个?由于这个问题,蜘蛛永远不会到达 URL。
谢谢你。
javascript - 了解强制门户
我们创建了一个强制门户,只要您连接到 Wi-Fi 网络就会打开。最初,Captive Portal 上显示的页面是在服务器端呈现的。
现在我们在页面上添加一些由用户操作触发的 AJAX 功能。然而,我们看到了非常不确定和随机的行为。有时 AJAX 调用是成功的,有时它甚至没有访问网络(通过WireShark检查)。
关于 AJAX 调用的关键事实——
ajax 调用是针对与页面不同的域进行的。服务器确实允许 CORS 标头,并且在普通浏览器中也可以正常工作,但是在 Captive Portal 中失败了。
ajax 调用本质上是异步的(尽管也尝试过同步调用 - 不走运)。
我在 ajax 调用中设置了几个标头(授权、客户端 ID、用户 ID)。
GET 和 POST 都面临这个问题。
调用失败的状态码为 0。
问题主要出在 Apple 设备上。在 Mac 中它每次都失败,在 iPhone 中它是随机的。奇怪的是——同一部 iPhone 在不同的时间表现不同。
没有太多资源可以找到有关 Captive Portal 的技术规范。少数可用的没有帮助或已经过时(当我测试 cookie 正在工作并且我在某个地方读到它在强制网络中不可用时)。
这里要考虑的一件关键事情是 - 如果对同一个域进行 AJAX 调用,它总是成功的。但是,如果是相同的域策略,则无法解释行为的随机化。我也检查了 WebKit 代码中的一些信息(https://github.com/WebKit/webkit/blob/b46afedc13edea0847ebf02414f803bbe9781b70/Source/WebCore/xml/XMLHttpRequest.cpp#L567)但也没有太多运气。
下面就像一个失败的浏览器信息 ——Mozilla/5.0 (iPhone; CPU iPhone OS 11_1_1 like Mac OS X) AppleWebKit/604.3.5 (KHTML, like Gecko) Mobile/15B150
下面是 ajax 调用的 Javascript 代码——
任何人都面临过类似的问题或可能会在这里提出一些启示?我被困了2天。
macos - Apple CNA 未显示 Facebook 样式表(强制门户)
我创建了一个强制门户,要求用户通过 Facebook 和 Twitter 进行身份验证。
当用户连接到热点时,它会生成 Captive Network Assistant(Captive 门户窗口)。
到目前为止一切正常,CSS、HTML、JS 和 PHP 加载正常,没有任何问题。
当用户通过 Twitter 进行身份验证时,他们会被重定向到 api.twitter.com 并且再次,这里没有问题,所有 CSS 等都可以完美加载。
但是,当用户单击 Facebook 时,它会加载如下所示,看起来样式表由于某种原因被阻止。
我尝试将所有关联的 URLS 添加到围墙花园:
在这一点上,我只是添加了任何我能找到的与 FB 相关的东西,不管它是多么的徒劳无功
此问题似乎仅与 OS X 隔离,当单击任何移动或 Windows 笔记本电脑上的 FB 链接时,没有问题并且可以按预期工作。
当关闭 CNA 窗口并在 Web 浏览器(Firefox 或 Safari)中打开 Captive Portal 时,它会毫无问题地加载。
因此,由此看来,它似乎与 OS X CNA 相关联。是否有人对导致此问题的原因、解决方案或解决方法有任何想法?
我不想完全停止使用 CNA。
google-api - 强制门户上的“disallowed_useragent”错误
我们目前正在处理一个大问题,即我们的 Captive Portal 解决方案无法与 Google OAuth 一起使用,并且它在 iOS 强制门户上给出“disallowed_useragent”错误(似乎适用于 Android 强制门户)。
我们的参考: Laravel Socialite 用谷歌方法登录
其他类似参考: Google OAuth 2.0 and Captive portal with Embedded browser
这是我们的 oAuth 2.0 客户端 ID - 474659916888-evuuf5df06snepug8cq18gpijpogn9tp.apps.googleusercontent.com
image.png
有什么解决办法吗?
javascript - 登录重定向后的 Android 强制门户
我有以下我无法弄清楚的问题:当人们连接到我酒店的 wifi 时,在某些 Android 设备中,我创建了一个强制门户 - 在登录结束时收到 204 响应后,“注册”启动页面关闭- 但在某些安卓系统中,它保持打开状态,您可以继续浏览,在这种情况下,我希望它们被重定向到我酒店的主页。
我建立主页并在窗口加载时尝试将位置更改为我知道会响应 204 的页面,并指望注册过程将关闭。但是在它没有关闭主页的情况下,它会卡住——我该如何实现这两种不同的状态?
authentication - authpuppy "您尝试访问的节点在服务器上不存在"
有人可以帮助我,如何将 wifidog 网关配置为 authpuppy,因为当用户连接时总是通知错误“服务器上不存在您尝试访问的节点”
bandwidth - 使用freeradius和fortigate防火墙限制用户的带宽
我在热点管理系统上工作,一切都很好,但是我的问题是当用户登录到他的帐户并且可以访问互联网时,我想将该用户的带宽限制为 64 KB
我尝试使用WISPr-Bandwidth-Max-Up
,WISPr-Bandwidth-Max-Down
或Mikrotik-Rate-Limit
属性来限制带宽,但无济于事。
Freeradius 将属性发送到 fortigate,但它似乎不起作用。我在fortigate中搜索了很多带宽属性,但没有发现任何有用的东西。有什么帮助吗?
android - 如何在 android 中检测 CaptivePortal 网络?
我想检测强制门户网络并希望将该网络重定向到我自己的 web 视图(其中包含自定义键盘)。
我尝试使用下面的代码,但它不起作用。我正在测试 KitKat
我的另一个问题是我如何在普通网络上测试它,这可能吗?因为现在我没有任何可用的 captiveNetworks。有什么技巧吗?帮助我解决这两个问题。
ios - NEHotspotHelper:无法在身份验证状态机的身份验证状态下发送 Web 请求
我已经实现了,NEHotspotHelper
以便我可以在后台对具有强制门户的网络执行身份验证。
我需要在“身份验证”状态下执行 Web 请求,以便我可以检索 Wispr 并访问 API。
但是,当我尝试使用URLSession
发送 Web 请求时,请求失败。这是错误:
查看我的代码片段: