mirror of
https://github.com/truewhile/MeBox.git
synced 2026-09-29 11:36:36 +08:00
security: fix SSRF, restrict CORS, add rate limiting on auth endpoints
- Add isPrivateHost() to block image proxy requests to loopback/private/ link-local IPs (SSRF mitigation) - Add isAllowedLocalPath() to restrict local file reads to configured data/cache/media directories only - CORS middleware now takes debug flag; wildcard only when debug=true, production omits headers (same-origin enforced) - Add per-IP sliding-window rate limiter (10 req/min) on login/register and Emby AuthenticateByName endpoints Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
+4
-1
@@ -132,7 +132,10 @@ func buildRouter(cfg *config.Config, logger *zap.Logger, svc *service.Container)
|
||||
r := gin.New()
|
||||
r.Use(gin.Recovery())
|
||||
r.Use(middleware.RequestLogger(logger))
|
||||
r.Use(middleware.CORS(cfg.App.CORSOrigins))
|
||||
if !cfg.App.Debug && len(cfg.App.CORSOrigins) == 0 {
|
||||
logger.Warn("CORS: no origins configured in production — CORS headers will be omitted (same-origin enforced). Set app.cors_origins for cross-origin access.")
|
||||
}
|
||||
r.Use(middleware.CORS(cfg.App.CORSOrigins, cfg.App.Debug))
|
||||
|
||||
handler.Register(r, cfg, logger, svc)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user