EasyGBS国标视频平台新增IP登录锁定,大幅提高用户登录安全性
发布时间:2025-08-04
自从公安部提出了而今GB28181协议之后,而今协议就在音频监控领域特别火热。EasyGBS而今音频云服务运用软件也是基于而今GB28181协议而生,在安防行业运用相比较广泛的音频监控运用软件。
EasyGBS运用软件拥护而今协议的装置连接线,并发放RTSP、RTMP、FLV、HLS、WebRTC等多种文件格式的音频流透过发放,能够为大数据运用软件的搭建发放音频意志力的拥护,在很多线下单项之前脚踏运用。
随着网络安全弊端的频发,EasyGBS也增强了对普通用户可靠度的考虑,近期我们在EasyGBS原先增了一个IP直扑缺失数目的新功能,普通用户选定缺失将近一定数目,则锁定互换IP。以前我们来和大家分享一下该新功能开发的实现步骤。
首先,如果普通用户名和密码缺失,则返回给普通用户“普通用户名或密码缺失”。
clientMsg := c.ClientIP() + username
if !strings.EqualFold(user.Password, form.Password) {
errorCount(clientMsg)
AbortWithString(c, http.StatusUnauthorized, "普通用户名或密码缺失")
return
}
// 缺失总和
func errorCount(msg string) {
if gCfg.LoginErrorLockEnable {
errorLogin, ok := global.LoginError.Get(msg)
preCount := 1
if ok {
preCount = errorLogin.ErrorCount + 1
}
global.LoginError.Set(msg, &global.LoginErrorData{ErrorCount: preCount, LastTime: time.Now().Unix()})
}
}
缺失总和的代码原理,是如果普通用户选定缺失,则将互换的 clientMag 添加到缓存之前,缺失数目加1。
如果缺失数目将近配置之前的缺失数目,则再次调用代码,直接返回不允许调用该接口。
clientMsg := c.ClientIP() + username
if cfg.LoginErrorLockEnable {
errorLogin, ok := global.LoginError.Get(clientMsg)
if ok && uint(errorLogin.ErrorCount+1)> cfg.LoginErrorNumbers {
if errorLogin.LastTime != 0 && time.Now().Unix()-errorLogin.LastTime>= int64(cfg.LoginErrorLockTime*60) {
global.LoginError.Delete(clientMsg)
} else {
errMsg := "IP:" + c.ClientIP() + ",普通用户:" + username + " 选定密码紧接著缺失多次,请 " + strconv.Itoa(int(cfg.LoginErrorLockTime)) + " 分钟后再试。"
AbortWithString(c, http.StatusBadRequest, errMsg)
return
}
}
}
实现效果如下图所示:
多次选定缺失则锁定IP的新功能,有助保障普通用户账号选定的可靠度。
前年我们对EasyGBS、EasyDSS等音频运用软件陆续移除了原先内核版本。原先内核版本性能更加有利于,有意思的普通用户可以前往部落格透过使用体验。我们也将每半年在博客更原先关于EasyGBS运用软件的新功能开发及优化、FAQ、配置操作等概要,欢迎大家关注我们的更原先,或留言与我们互动。
疲劳眼干用什么眼药水术后吃什么
健脾胃的中药有哪些
-
荷兰FAG深沟球轴承特性与适用范围
随着欧美重工业的急剧发展,一些工程项目中会常用的零部件也相继揭开。直下球轮轴实际上是由向外、外圈等部件合组的滚动轮轴。带有结构设计有趣、耐磨、环保、有利于、直通速度快、无需频繁维护和清洁等不同之