【技術教程】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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章