middleware

package
v0.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 12, 2026 License: MIT Imports: 23 Imported by: 0

Documentation

Index

Constants

View Source
const DbField = "_lingecho_db"
View Source
const ENV_SESSION_EXPIRE_DAYS = "SESSION_EXPIRE_DAYS"
View Source
const ENV_SESSION_FIELD = "SESSION_FIELD"
View Source
const ENV_SESSION_SECRET = "SESSION_SECRET"

Variables

This section is empty.

Functions

func ApplySecurityMiddleware

func ApplySecurityMiddleware(r *gin.RouterGroup)

ApplySecurityMiddleware applies security middleware to router group

func CSRFMiddleware

func CSRFMiddleware(config *SecurityConfig) gin.HandlerFunc

CSRFMiddleware CSRF保护中间件

func CorsMiddleware

func CorsMiddleware() gin.HandlerFunc

CorsMiddleware handles cross-origin resource sharing

func GetCarrotSessionField

func GetCarrotSessionField() string

func InjectDB

func InjectDB(db *gorm.DB) gin.HandlerFunc

InjectDB 注入数据库实例到 Gin 上下文

func InputValidationMiddleware

func InputValidationMiddleware() gin.HandlerFunc

InputValidationMiddleware 输入验证中间件

func LoggerMiddleware

func LoggerMiddleware(logger *zap.Logger) gin.HandlerFunc

LoggerMiddleware 请求日志中间件

func SanitizeString

func SanitizeString(input string) string

SanitizeString 清理字符串,移除危险字符

func SecureCompare

func SecureCompare(a, b string) bool

SecureCompare 安全比较字符串,防止时序攻击

func SecurityMiddleware

func SecurityMiddleware(config *SecurityConfig) gin.HandlerFunc

SecurityMiddleware 安全中间件

func SecurityMiddlewareChain

func SecurityMiddlewareChain() []gin.HandlerFunc

SecurityMiddlewareChain returns security middleware chain

func SignVerifyMiddleware

func SignVerifyMiddleware() gin.HandlerFunc

API signature verification middleware

func ValidateEmail

func ValidateEmail(email string) bool

ValidateEmail 验证邮箱格式

func ValidatePassword

func ValidatePassword(password string) error

ValidatePassword 验证密码强度

func WithCookieSession

func WithCookieSession(secret string, maxAge int) gin.HandlerFunc

func WithMemSession

func WithMemSession(secret string) gin.HandlerFunc

func XSSProtectionMiddleware

func XSSProtectionMiddleware() gin.HandlerFunc

XSSProtectionMiddleware XSS防护中间件

Types

type SecurityConfig

type SecurityConfig struct {
	// CSRF配置
	CSRFSecret    string            `json:"csrf_secret"`
	CSRFTokenName string            `json:"csrf_token_name"`
	CSRFMaxAge    time.Duration     `json:"csrf_max_age"`
	CSRFSecure    bool              `json:"csrf_secure"`
	CSRFHttpOnly  bool              `json:"csrf_http_only"`
	CSRFSameSite  csrf.SameSiteMode `json:"csrf_same_site"`

	// XSS配置
	XSSProtection      bool   `json:"xss_protection"`
	ContentTypeNosniff bool   `json:"content_type_nosniff"`
	XFrameOptions      string `json:"x_frame_options"`

	// 输入验证配置
	MaxRequestSize int64    `json:"max_request_size"`
	AllowedOrigins []string `json:"allowed_origins"`

	// 安全头配置
	HSTSMaxAge     int    `json:"hsts_max_age"`
	ReferrerPolicy string `json:"referrer_policy"`
}

SecurityConfig 安全配置

func DefaultSecurityConfig

func DefaultSecurityConfig() *SecurityConfig

DefaultSecurityConfig 默认安全配置

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL