【技术教程】TSINGSEE青犀视频RTSP协议视频智能分析平台EasyNVR如何优化HTTP协议请求方式的安全问题?

目前TSINGSEE青犀视频研发的云边端架构视频平台,比如EasyNVR登录基本使用的是http协议,如果需要通过https进行登录,则需要配置SSL证书。

93.png

HTTP1.0版本定义了三种请求方法:GET、POST、HEAD。新一代的HTTP1.1版本新增了五种请求方法OPTIONS、PUT、DELETE、TRACE和CONNECT方法。

由于请求方法复杂繁多,因此在使用的时候如果启用了不必要的HTTP方法可能会带来安全问题。因此我们建议在不影响业务的前提下,禁用不必要的HTTP方法。

44.png

接口的请求方式是服务端这边规定的,修改服务端的位置即可。

allowMethod := utils.Conf().Section("base_config").Key("allow_method").MustString("GET,POST,PUT,PATCH,DELETE,HEAD,OPTIONS")
allowMethods := strings.Split(allowMethod, ",")
corsConfig := cors.Config{
   // 允许的请求格式
   AllowMethods:     allowMethods,
   AllowHeaders:     []string{"Origin", "Content-Length", "Content-Type"},
   AllowCredentials: true,
   MaxAge:           12 * time.Hour,
}
if allAllOrigins {
   // 允许的域名或者IP
   corsConfig.AllowOrigins = allowOrigins
   corsConfig.AllowOriginFunc = func(origin string) bool { return false }
} else {
   corsConfig.AllowAllOrigins = true
}
Router.Use(cors.New(corsConfig))
 

allowMethod就是接口允许的请求方式,我们需要改为支持在配置文件进行配置的方式。如果不配置,则默认有GET,POST,PUT,PATCH,DELETE,HEAD,OPTIONS这些请求方式。

46.png

猜你喜欢

转载自blog.csdn.net/Black_3717/article/details/111353128