飞道的博客

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

261人阅读  评论(0)

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

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

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

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


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

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

 


转载:https://blog.csdn.net/EasyNVR/article/details/111310188
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场