节点JS互联网网关/强制门户网站,如在公共WiFi热点中使用

Aks*_*hat 8 routing iptables wifi node.js

我想建立一个节点js互联网网关/强制网络门户.所以我可以让用户'授权'他的mac地址或IP地址,如果mac地址不可能像用于wifi热点那样

所以我想到的是节点可以有一个dhcp服务器,它给它的IP地址作为网关.因此,如果用户在Web浏览器上加载页面,则会为其提供身份验证屏幕,然后他们可以登录,然后网关可以正确地路由其数据包.

如何使用node.js执行授权步骤,这样如果他们没有登录,则会显示登录页面以及是否要正确路由数据包?

Mrc*_*ief 4

您需要几块部件才能将其组合在一起。

#1:http 代理 - 如果您可以运行 DHCP 服务器并分配 IP 地址,那么您可以运行 http-proxy 来捕获所有互联网流量。

#2:然后,您需要向该代理添加身份验证逻辑,该逻辑可以检查 cookie、魔术包、令牌或验证访问权限的内容,并允许它们通过或重定向到登录页面。

node-http-proxy是一个非常流行且灵活的节点 http 代理服务器,您可以轻松地添加自己的逻辑

node-http-auth-proxy是另一个此类项目,其中包含如何处理内置身份验证的示例。

拥有代理还可以让您将站点/IP 列入白名单/黑名单,这是您可能想要根据目标受众执行的操作。