佐须之男 发布的文章

wifidog如何判断用户不在线?

wifidog如何判断用户不在线?

    if (p1->counters.last_updated +
                        (config->checkinterval * config->clienttimeout)
                        <= current_time) {
        /* Timing out user */
        debug(LOG_INFO, "%s - Inactive for more than %ld seconds, removing client and denying in firewall",
                p1->ip, config->checkinterval * config->clienttimeout);
        fw_deny(p1->ip, p1->mac, p1->fw_connection_state);
        client_list_delete(p1);

        /* Advertise the logout if we have an auth server */
        if (config->auth_servers != NULL) {
                                UNLOCK_CLIENT_LIST();
                                auth_server_request(&authresponse, REQUEST_TYPE_LOGOUT, ip, mac, token, 0, 0, session_id);
                                LOCK_CLIENT_LIST();
        }

wifidog发送logout 请求的地方一个是客户端主动触发wifidog下线请求,另一个就在上述代码所述。
这段代码主要是用来判断客户端是否在一定时间内没上网,如果是,wifidog会将其踢出,然后告诉服务器这个客户端已经下线了。

这里可以改成客户端连接一段时间后再踢下线,同样可以改成发现用户没有连接路由器直接踢下线,后者需要用到arp 包来ping 客户端,前者只要在客户端连接之后加个上线时间再在上述代码的if 判断处改成当前时间减去上线时间即可。

本文章由 http://www.wifidog.pro/2015/03/25/wifidog%E5%A6%82%E4%BD%95%E5%88%A4%E6%96%AD%E7%94%A8%E6%88%B7%E4%B8%8D%E5%9C%A8%E7%BA%BF.html 整理编辑,转载请注明出处

Wifidog on DD-WRT Splash Only With SMS

wifidog.png

事实证明NoCatSplash相当不稳定,服务只能运行几个小时,然后就工作异常了,验证页面打不开,接入用户也没办法上网,只能通过重启DD-WRT的方式解决,起初发现的时候,在路由器里设置了定时重启的Cron,可是后来问题越来越严重,每两个小时重启一次也没办法满足需求了,至此NoCatSplash方案宣告失败。

继续寻找其它的解决方案。相中Wifidog,理由很简单,开源。

为满足本案需求,没有选择默认的RADIUS认证,使用了Splash Only插件,结合之前定制的SMS动态密码验证的代码,最终得以实现。

首先需要一台AuthServ,OS使用Ubuntu Server 13.04,参考了Authpuppy官方配置文档,过程很顺利。
之后通过http://AuthServIp/configure进入认证服务器的配置页面,顺利找到DD-WRT上已经开启的节点。

再之后,安装Splash Only插件,配置DD-WRT侧FirewallRuleSet(DD-WRT侧配置参考以上截图)。

认证页面的修改可参考WiFiDogSplashOnlyWithSMS

本文章由 http://www.wifidog.pro/2015/03/24/wifidog-ddwrt-with-SMS.html 整理编辑,转载请注明出处

wifidog安装配置Wiwiz HotSpot Builder 常见问题(2)

如何让信任的人使用我的热点?如何屏蔽某个用户?
除了可以将热点设置为收费模式或使用电子招待券,热点管理员还可以使用“访问控制”功能。热点管理员可以对特定的热点使用者的MAC地址进行屏蔽、放行或免认证设置。被屏蔽的使用者将不能通过认证。被放行的使用者将无需付费或输入电子招待券即可通过认证。被免认证的使用者将可以直接接入Internet而不显示认证页面(注:免认证的使用者连接信息将不能在“当前连接”和“连接履历”中查看)。

如何设置关注微信后上网的认证方式?
默认方式:登陆Wiwiz Web面板,点击“管理热点”,编辑需要设置的热点,在设置热点页面点击“设置关注微信认证模式”。

调用Wiwiz Auth API还可以使用手机验证吗?
是的。调用Wiwiz Auth API的情况依然可以使用手机验证。方法如下:

  1. 你需要在Wiwiz Web面板设置热点时也需要选中“手机验证”的认证方式。
  2. 发送验证短信时,可参照《如何制作自定义认证页面》中的方法:
    即,(1)在</head>标签前加入:

(2)用以下代码发送验证短信:

<input type=”button” value=”获取验证码” onclick=”WiwizSmsVerify(document.getElementById(‘phonenum’).value, ‘XXXX’);” />
  • 将XXXX替换为您的HotSpot ID。
  1. 验证手机验证码时,需要在服务器端发送HTTP请求: [srvurl]?smsverify=2&gw_id=[HotSpot ID]&userkey=[UserKey]&phonenum=[手机号码]&phonecode=[手机验证码]
    例如:http://cp.wiwiz.com/as/s/login2/?smsverify=2&gw_id=1384ADCDAB7&userkey=246DD22C084BB40E&phonenum=18011112222&phonecode=123456
    返回的Http Response含义为:
    0:验证成功;1:HotSpot ID错误;2:未启用短信验证;3:UserKey错误;4:手机验证码错误或过期;999:系统异常

Wiwiz标准版与专业版有什么区别?
Wiwiz标准版可免费使用。同时,对于有更高需求的用户,Wiwiz以非常低廉的价格提供具有增强功能的专业版服务。
目前,以下三项功能分别以5美元/月计费:
– 电子招待券认证支持/自定义用户认证支持
– 认证页面URL/HTML代码自定义
– 认证后页面URL/HTML代码自定义
若用户同时拥有以上三项功即可升级为专业版,并享受其他全部专业版功能,主要包括:
– Wiwiz Auth API(第三方集成解决方案)
– 最多可创建10个热点(标准版用户最多可创建热点数为3个)
– 更低的提现服务费
– 连接履历查询
– 访问控制支持免认证模式
– 认证方式支持手机号码验证(通过短信验证码),及支持查看已验证手机号码

如何使用热点?
如果你已连接到一个基于Wiwiz构筑的热点,打开浏览器并输入一个任何的http网址,热点的认证页面将会显示。点击“立即开始使用此网络”(如必要,请先输入必要的认证信息,例如,用户名、密码、电子招待券、手机号码、手机验证码或确认认同条款等)后,即可看到认证结果信息,如通过认证即可访问Internet。如热点管理员设置了接入费率,你可以按照提示完成付费即可访问Internet。

热点的使用截止时间如何计算?
如首次使用热点或支付时间晚于当前截止时间,截止时间将等于支付时间 + 使用时长,否则截止时间将等于当前截止时间 + 使用时长。

如何向一个热点付费?
点击认证页面上的“更多信息”链接,你可看到该热点的接入费率信息,点击“购买/续费”链接即可进入支付页面。如你的余额不足,请先进行充值(充值方式当前支持Paypal与支付宝),之后按照提示完成支付,支付的费用将从你的余额扣除。

本文章由 请输入链接描述 整理编辑,转载请注明出处

wifidog安装配置Wiwiz HotSpot Builder 常见问题

Wiwiz HotSpot Builder是什么?
Wiwiz是一个有线/无线网络热点管理系统,利用它你可以为你的热点创建一个强制门户/强制认证页面(captive portal)。
Wiwiz更是一个基于云的开放平台,提供了丰富的扩展、定制功能与开发接口。很多商家、系统集成商和软件公司都使用Wiwiz设置、定制或二次开发出了商用WiFi或网络认证产品。
Wiwiz HotSpot Builder由两部分构成 – Wiwiz Web控制面板 和 一个叫做Wiwiz HotSpot Builder Utility的客户端。
典型的应用情景是,部署了Wiwiz HotSpot Builder的机器充当无线(或有线)局域网中的Internet网关。当网络中的一个用户试图使用Internet时,他需要首先打开Web浏览器并访问任意一个HTTP地址,然后一个特殊的页面(通常用于认证目的)将会被显示出来。而用户在使用Internet前需要在此页面完成认证。

谁使用Wiwiz HotSpot Builder?
答案可能会是:

  • 提供无线Internet接入的WISP
  • 旅馆、餐厅、咖啡店或酒吧…的经营者
  • 公司、办公室、工作室…的管理员
  • 公共场所,如图书馆、医院、公园等的管理员
  • 想要有偿或无偿分享自己的Internet连接给其他人的人

主要特性与功能?
可以创建免费的热点
● 可以创建收费的热点:

  • 可同时设置多种费率,如每分钟,每小时费率,每日费率,每周费率,每月费率…
  • 可设置试用时间
  • 支持多种币种,包括美元,港元,欧元,日元和人民币
    ● 多种可组合的用户认证方式,包括:
  • 用户协议 – 热点管理员可自定义服务条款内容,并要求热点用户认同条款后通过认证
  • 用户登录 – 要求用户登录Wiwiz.com注册账户或自定义账户后通过认证
  • 电子招待券 – 热点管理员可设置认证码,并要求用户输入后通过认证
  • Wiwiz Auth API – 与第三方系统集成整合
  • 手机验证
  • 可定制风格的认证页面,含15个页面模板
  • 用户自定义的认证页面及认证后页面
    ● 热点客户端访问控制
  • 可查看当前连接
  • 可阻塞或放行特定的热点用户
    ● 支持黑/白地址列表(IP地址或域名)
    ● 支持向热点用户推送消息
    ……

Wiwiz是ISP或WISP吗?
不是。我们提供软件及相关的服务,使您可以分享Internet连接。但是我们并不是ISP或WISP,也就是说您不能从我们这里得到的Internet接入的服务。
请注意,您需要确保您分享您Internet连接行为的合法性或者您的ISP/WISP允许您这样做。

如何用Wiwiz HotSpot Builder创建带有Web认证功能的Wi-Fi热点或有线网络?
拥有一个Wiwiz热点是非常简单的。
第一步:注册成为Wiwiz.com用户并在Wiwiz Web控制面板中创建一个热点。
第二步:下载并安装Wiwiz HotSpot Builder Utility。推荐购买Wiwiz商店中已预装了Wiwiz HotSpot Builder Utility的路由器或认证网关。如使用第三方设备或计算机,请继续向下阅读。

如何安装Wiwiz HotSpot Builder Utility?有什么系统需求?
可以由以下几种简单的方式安装:
● 最简单地,你可以使用一个安装了DD-WRT或OpenWrt固件并安装配置了Wiwiz HotSpot Builder Utility的无线路由器(如Cisco Linksys WRT54G系列)来构筑一个热点。
● 如果你的无线路由器不支持DD-WRT或OpenWrt,那么你可以使用你的计算机来代替。典型地,你需要准备:

  • 一台安装了VMWare或VirtualBox的虚拟机软件的计算机
  • 一个无线路由器
    ● 或者你可以使用一台安装了Linux系统的计算机

什么是认证后页面?
网络用户在认证页面输入有效的认证信息后,进行认证,一旦通过认证,浏览器将会首先跳转至一个页面,这个页面就是“认证后页面”。它的作用相当于网络用户的一个上网起始页。

我用Wiwiz作为WiFi网络的认证方案,那么每个SSID一定要各自对应一个HotSpot ID吗?
如果你有多个网络需要使用Wiwiz作为认证方式,那么你需要对每一个网络各自绑定一个HotSpot ID(即Wiwiz热点)。
但是如果你有多个子网络,例如,对于无线网络,如果存在多个SSID/AP,但是为了扩大同属于一个网络的覆盖范围,且实际上共享着同一个Internet连接,那么一般无需为每个SSID各自绑定一个HotSpot ID。

是否有认证连接数的限制?
对于一般的认证方式是没有任何限制的。但有两种认证方式例外:

  • Wiwiz Auth API
  • 自定义账户登录
    这两种认证方式默认的最大同时认证连接数是200/每热点(每HotSpot ID)

本文章由 http://www.wifidog.pro/2015/03/24/wifidog%E5%AE%89%E8%A3%85%E9%85%8D%E7%BD%AE.html 整理编辑,转载请注明出处