Run NodesReference

security

Package security provides security validation and protection utilities

import "github.com/luxfi/node/security"

Package security provides security validation and protection utilities

Functions

ConstantTimeCompare

func ConstantTimeCompare(a, b string) bool

ConstantTimeCompare performs constant-time comparison of two strings Returns true if strings are equal, false otherwise

SafeIntConversion

func SafeIntConversion(value int64, bitSize int) (int64, error)

SafeIntConversion safely converts between integer types checking for overflow

SafeUintConversion

func SafeUintConversion(value int64, bitSize int) (uint64, error)

SafeUintConversion safely converts to unsigned integer checking for overflow

SanitizeSQL

func SanitizeSQL(input string) string

SanitizeSQL performs basic SQL injection prevention This is a basic implementation - use prepared statements for production

ValidateAlphanumeric

func ValidateAlphanumeric(s string) error

ValidateAlphanumeric checks if a string contains only alphanumeric characters

ValidateEmail

func ValidateEmail(email string) error

ValidateEmail performs basic email validation

ValidateURL

func ValidateURL(url string) error

ValidateURL performs basic URL validation

Types

InputValidator

InputValidator provides methods for validating and sanitizing user input

func NewInputValidator() *InputValidator
func (v *InputValidator) ValidateFilePath(path string) error
func (v *InputValidator) ValidateIPAddress(addr string) error
func (v *InputValidator) ValidatePort(port int) error
func (v *InputValidator) ValidateStringLength(s string) error

RateLimiter

RateLimiter provides basic rate limiting functionality

func NewRateLimiter(limit int, windowSeconds int64) *RateLimiter
func (r *RateLimiter) Allow(clientID string, now int64) bool