4

我想提供一个Captive Portalhttp.server -在运行最新版本的 Raspbian 的 Raspberry Pi 上使用我的无线网络(通过 WiFi)开始浏览网页之前提示用户同意某些条款的页面。

我已经http.server(与 Python3 一起)运行并portal.html在 Pi 上本地有一个网页。这是我希望用户在连接到我的 Pi 时被重定向到的页面。假设该页面的本地 IP 是192.168.1.5:80/portal.html

我的想法是,当他们连接并接受条款和条件时,我会以某种方式允许他们连接。

我该怎么做呢?

4

2 回答 2

0

您需要制定相关文件,以及所有必要的条款和条件,将条件的接受与特定用户联系起来。您可以实现简单的登录,并将字符串(名称 - ID)链接到布尔值,例如“accepted = true”。如果您不需要存储用户数据,只需重定向您的文档并选中“同意”,然后您允许用户连接。

于 2017-05-08T14:27:07.793 回答
0

所以“旧式”强制门户(我相信)只会劫持未加密的 HTTP GET 请求并强制浏览器重定向到门户页面。虽然很简单,但它也展示了不安全的 HTTP 有多疯狂。

现在,操作系统针对强制门户实施了更安全的机制。RFC 7710详细说明了确切的机制。还有一些特定于操作系统的要求,例如http://captive.apple.com/hotspotdetect.html可以达到的 OS X 要求。您将需要实现所有这些以重定向到您的页面。

于 2017-05-08T14:33:51.423 回答