- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试制作一个没有互联网连接的设备,它将其 wifi 的任何连接重定向到一个独特的页面,如盗版盒。我使用 NodeJS 服务器和 dnsmasq 将所有连接重定向到服务器。这工作得很好,但是当我尝试连接 Android 或 iOS 智能手机时,它检测到它是一个强制门户,并且页面显示但在身份验证弹出窗口中。
我看到设备尝试连接到某些 IP,如果没有响应,则认为连接是通过强制门户进行的。
有什么办法可以避免吗?
非常感谢!
编辑:我找到了要“白名单”的页面列表:
Android Captive Portal Detection:
Domain names to white list:
clients3.google.com
iOS for iPhone:
iPhone is more complicated, since it uses many different domain names, maybe for load balancing. It also changed its strategy using different domain names through different O.S. versions.
iOS 6:
Domain names to white list:
gsp1.apple.com
*.akamaitechnologies.com
www.apple.com
apple.com
iOS 7:
Domain names to white list:
www.appleiphonecell.com
*.apple.com
www.itools.info
www.ibook.info
www.airport.us
www.thinkdifferent.us
*.apple.com.edgekey.net
*.akamaiedge.net
*.akamaitechnologies.com
Windows Desktop O.S.
Domain names to white list:
ipv6.msftncsi.com
ipv6.msftncsi.com.edgesuite.net
www.msftncsi.com
www.msftncsi.com.edgesuite.net
teredo.ipv6.microsoft.com
teredo.ipv6.microsoft.com.nsatc.net
但由于我的设备并未真正连接到互联网,我该如何发送这些页面?
最佳答案
它在弹出窗口中显示重定向的页面,因为设备发出的请求(http 探测)以确定它是否在强制门户后面,没有返回预期的成功消息。
另请参阅:https://serverfault.com/questions/679393/captive-portal-popups-the-definitive-guide/
如果您想避免出现弹出窗口,但又不想让 http 探测通过,那么您必须返回 http 探测所期望的相同成功消息 - 这会愚弄它以为它不在后面强制门户。
如果您不返回 http 探测器试图获取的成功消息,它会认为它位于强制门户之后。有时,成功消息只是“HTTP 200 OK”。
因此,要愚弄它,您需要记录来自所有设备的 http 探测器所生成的 URL。将这些结果存储在执行重定向的路由器上。在封闭网络内,每当探测到其中一个 URL 时,返回预期的成功消息。该设备会认为它具有完全的互联网访问权限,并且不会弹出强制门户登录窗口。
如果您想让强制门户登录页面出现在设备上的强制门户身份验证弹出窗口中,只需将所有 HTTP 请求重定向到登录页面即可。设备登录后,所有来自 http 探测的 URL 都需要返回预期的成功消息,否则它将继续假定设备未成功登录到强制门户,并将继续显示身份验证弹出窗口 -上。
关于node.js - 避免强制门户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36067643/
根据此 Microsoft 指南: https://learn.microsoft.com/en-us/azure/app-service/webjobs-create右键单击 Web 作业时,应该会
我正在尝试在新的 Azure 门户中将网站的开发人员组添加到读者角色,并将用户分配到该组。 当我将特定用户添加到网站的读者角色时,用户可以正常看到所有内容,但是当我删除该用户并将其添加到开发人员组时,
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a software
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a software
我无法验证 Azure Portal在我的家庭桌面(Windows 10 家庭版)上。它只是挂着以下图标,直到我最终被重定向到 error timeout page . 有趣的是,我仍然可以登录 Of
我知道我的问题并不具体,也没有明确的答案,但我需要帮助来弄清楚从哪里开始寻找。 因此,我们在 Azure 门户上工作,并有一个 Web 作业从队列中获取消息并处理它们;由于一些奇怪的原因,当我使用 S
昨天共享我的 Azure 门户仪表板后,我想我不小心删除了我的默认仪表板,因为它与共享仪表板同名。现在,当我登录门户时,我收到以下消息: Dashboard not found We could no
过去几天我收到一个非常奇怪的错误。当我尝试在 Azure 门户中打开任何 SQL Azure 数据库时,我只是在通知中心收到一条错误消息: Refresh the browser to try aga
我在 BizTalk 方面有相当丰富的经验,但对 ESB 工具包还很陌生。我们实际上并不需要这样的 ESB 解决方案,但我想使用 ESB Portal 来显示错误、修改消息并重新提交。 据我所知,我已
昨天共享我的 Azure 门户仪表板后,我想我不小心删除了我的默认仪表板,因为它与共享仪表板同名。现在,当我登录门户时,我收到以下消息: Dashboard not found We could no
过去几天我收到一个非常奇怪的错误。当我尝试在 Azure 门户中打开任何 SQL Azure 数据库时,我只是在通知中心收到一条错误消息: Refresh the browser to try aga
错误 500:java.util.MissingResourceException:找不到 bundle com.ibm.abc.nl.abcdf、 key en_US 的资源。 我收到此异常。我在
我正在尝试编写一个程序,以编程方式将用户登录到 ArcGIS 门户。 这是我的场景: 用户登录到应用程序 A,用户单击指向 ArcGIS 门户的链接 - 我不希望他们在单击该链接时必须登录门户,因为他
React portals让您将 React 子元素渲染到不同的 DOM 元素中,在页面上完全独立的某个位置。 我想做相反的事情:我想在页面的其他地方渲染一次 DOM 元素,然后根据我的 React
我一直在使用 Azure 搜索通过 Azure 门户远程创建的索引 (Umbraco) 中进行搜索。 今天早上,我收到错误消息,告诉我在索引中允许门户来源。 我不明白为什么我昨天能够搜索,而今天它告诉
我曾使用 Websphere Portal 6.0、6.1 并使用 JSR 168、JSR 286 Portlets 开发了门户应用程序。 现在我正在转移到我将使用 Liferay 门户服务器和 JS
如何使用 portal.properties 配置或覆盖 Liferay 门户属性? 最佳答案 Liferay 属性是一种强大的工具,它允许我们配置 Portal 行为而无需编写 hooks-、ext
我已经安装了 FIM Portal 并且安装成功。但是,我无法在 FI 上查看导航栏和管理控件 最佳答案 在集合 --> 搜索管理员 --> 将您的用户 ID 添加到该集合。 关于sharepoint
我的 Web 应用程序部署在 Azure 门户中。我想从我的解决方案中删除整个 web.config 文件,并想在 Azure 中配置它。是否可以做到这一点,如果可能的话,我需要在哪里提供azure中
我认为这是不可能的,但我想知道是否有任何网址可以将我重定向到标准逻辑应用程序(单租户)中的特定工作流程。 我为什么要问这个问题,因为在消费逻辑应用程序中,如果我向某人提供 URL,他们会直接进入概述页
我是一名优秀的程序员,十分优秀!