问题标签 [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.

0 投票
2 回答
816 浏览

ios - iOS 9 - 避免使用新的 NEHotspotHelper 弹出 Captive Portal

我需要提供对强制网络的访问权限,但仅限于一组特定的用户,因此我将通过应用程序处理身份验证。

在 iOS 9 之前,我可以CNSetSupportedSSIDs用来避免系统显示强制门户。从 iOS 9 开始,CNSetSupportedSSIDs总是返回false.

特别是新的 NetworkExtension API 是否NEHotspotHelper会导致我得到相同的结果CNSetSupportedSSIDs?我无法自己测试,因为我刚刚向 Apple 询问了权利(我听说需要 3 周才能得到答复......)。

谢谢你的帮助

0 投票
2 回答
7662 浏览

android - 如何使用 NetworkRequest.Builder().setNetworkSpecifier(string) 指定 wifi 网络

我正在寻找一种方法让 Android 5.0 平板电脑连接到出于安全原因没有 Internet 连接的 Intranet。

问题是 Google 自 4.4/5.0 以来在 android 中构建的强制门户保护。调用androidconnectivitycheck以检查互联网连接,当此调用失败时,wifi 网络被标记为不工作并避免。很蹩脚。

其他人也遇到了同样的问题,有人建议使用 android 5 中引入的新 API,请参阅: Android 5.0 Lollipop and 4.4 KitKat ignores my WiFi network, enableNetwork() is useless

这方面的文档非常模糊:

“此字符串的解释是承载特定的,使用它的承载应记录其详细信息。例如,蓝牙可能使用某种设备 ID,而 WiFi 可能使用 ssid 和/或 bssid。蜂窝网络可能使用运营商 spn”

我试过了,但它不起作用。主要问题是,一旦我使用 setNetworkSpecifier()没有找到网络。我尝试使用bssid(mac) 和ssidAP 的。

看起来过滤器正在工作,但不清楚它应该如何工作。如果我遗漏了setNetworkSpecifier()呼叫 1 网络,但无法确定是哪个网络。至少它表明我的代码有效。

那么如果 ssid 和 bssid 不起作用,我应该在这里输入什么?

这是我的代码。

0 投票
1 回答
90 浏览

wifi - 如何存储通过强制门户访问 wifi 的客户端名称?

我想为开放的 wifi 网络设置一个强制门户,用户只需输入他们的名字就可以访问互联网。

其目的是建立一个当前连接到网络的名字列表。理想情况下,此设置将记住 MAC 地址,并能够在下次自动访问 wifi 网络时迎接返回的客户端(在外部显示器上)。(客户可以在无需通过强制门户重新登录的情况下访问互联网吗?)

谢谢

0 投票
1 回答
8587 浏览

linux - iptables,从 prerouting Captive Portal 中排除单个 ip

我需要帮助才能从所有端口的预路由规则中排除单个 IP 地址。任何连接到我的接入点的人都会被重定向到我的强制门户(登陆页面)。因此我想制定一个新规则,我不希望我现有的预路由规则被修改/删除。

我已经制定的预路由规则将传入端口(端口 22(SSH)除外)路由到强制门户。因此我使用这个规则:

我想要的是排除特定用户,因此我想阻止某些 IP 地址被转发。我尝试了不同的东西,但我无法得到任何工作。我尝试了不同的 INPUT 和 OUTPUT 规则,但没有运气。我想我应该对 PREROUTING 做点什么,但是怎么做呢?

0 投票
1 回答
1388 浏览

javascript - Jquery 页面无法在 android 强制门户网站上登录浏览器

我有一个强制门户系统,为此我构建了一个登录页面。该页面是用 html5 和 jquery 构建的。它是一个单文件、多页 jquery 设置,在普通浏览器(chrome、firefox 等)中运行良好。Android 通常会检测到设备已连接到强制门户 wifi 并显示“登录 Wi-Fi 网络”通知,如果您触摸它,它会在自己的浏览器(网络查看器?)中加载登录页面,这里是我的登录页面不工作。

主页显示,但所有其他页面都显示为空白。即使显示主页,单击按钮也无济于事。我最初的想法是,在这个“浏览器”中禁用了 javascript 或 ajax,但是在通过 ajax 从服务器获取后,主页是用 javascript 构建的,如果 javascript 执行或 ajax 调用都不会显示'工作。

所以,我不知道如何解决这个问题。任何人都可以帮忙吗?

0 投票
1 回答
520 浏览

http - Cloudtrax HTTP 身份验证 API 调试

我正在使用Cloudtrax HTTP 身份验证 API 为具有强制门户的路由器身份验证创建自定义逻辑。

当路由器请求状态请求时,服务器会响应以下内容:

这应该是登录用户的答案的正确格式。问题是强制门户仍然存在。

我不知道可能是什么问题,也找不到路由器或 cloudtrax 上的日志来查看可能出现的问题。

编辑:

我正在处理 django (python) 上的 RA 字符串:

0 投票
1 回答
1110 浏览

node.js - 避免强制门户

我正在尝试制作一个没有互联网连接的设备,它将任何连接到其 wifi 的连接重定向到一个独特的页面,一个海盗盒之类的。我使用 NodeJS 服务器和 dnsmasq 将所有连接重定向到服务器。这工作得很好,但是当我尝试连接 Android 或 iOS 智能手机时,它会将其检测为强制门户,并且页面显示在身份验证弹出窗口中。

我看到该设备尝试连接到某些 IP,如果没有响应,则假定连接是通过强制门户进行的。

有没有办法避免这种情况?

非常感谢!

编辑:我找到了“白名单”的页面列表:

但是由于我的设备没有真正连接到互联网,我该如何发送这些页面?

0 投票
0 回答
3982 浏览

facebook - 如何将 facebook 登录添加到 pfSense Captive Portal?

我目前正在 pfSense 中开发一个活动门户。我的目标是实现Facebook Login以及默认的Local User Manager。在开发过程中,我没有任何身份验证方法,这意味着我可以无限访问互联网(我测试过)。但是,当我单击登录按钮时,出现以下错误:错误图像

我知道它是葡萄牙语,但它说的是:“应用程序配置不允许给定的地址。:应用程序设置不允许一个或多个 URL。这些必须与网站 URL 或 URL 匹配画布或域必须是应用程序字段之一的子域。

这是来自糟糕的编码,还是它在 pfSense 上被阻止?

0 投票
0 回答
427 浏览

raspberry-pi - 打开 wifi 强制门户,仅带本地网络(无互联网/WAN)?

我正在尝试设置一个无线“测试”盒以在私人俱乐部(11,000 英亩)上使用。最初的测试不需要任何花哨的东西,它只是从属性中间的高点检查热点的可见性。但如果证明它具有良好的知名度,以后的测试将(希望)由俱乐部推广并让会员知道。我想建立一个强制门户,将他们重定向到评论页面,如果他们能够连接并希望说出他们对这个想法的看法,他们可以在其中发布快速消息。

这将在运行 debian wheezy 的树莓派上进行。所以开销越少越好。

我在网上看到的强制门户网站的大多数示例都是基于设置了互联网连接和/或 NAT 方案。我只需要一个热点和一个网页来进行这些促销测试。如果可能的话,我想触发任何能够建议或以其他方式打开浏览器的设备以转到促销登录页面。如果某种 dns 伪装或其他机制能够在他们的设备不支持弹出窗口的情况下重定向所有浏览器流量,那就太好了。

任何帮助表示赞赏。

西南

0 投票
0 回答
901 浏览

batch-file - 是否可以从 Windows Wi-Fi 热点创建强制门户?

我在徘徊,如果计算机热点Wi-Fi可以变成Captive Portal。我想从计算机创建一个 Wi-Fi 热点,当有人连接到 Wi-Fi 时,它应该在打开浏览器时重定向到 LAN 上的特定网页。我正在使用 XAMPP 服务器来托管我的所有文件。我可以连接到该页面,但每次我连接的所有设备都需要输入 IP 地址。通常此功能在某些路由器上提供,但我想知道是否可以将计算机用作 Wi-Fi 热点。

我知道有一些软件可以在 Windows 上执行此操作,但我想知道是否可以使用 Windows 命令/BAT/VBS/PowerShell!