Validate File Types
Basic Extension Validation
module FileValidator
ALLOWED_IMAGES = [".jpg", ".jpeg", ".png", ".gif", ".webp"]
ALLOWED_DOCUMENTS = [".pdf", ".doc", ".docx", ".txt"]
def self.valid_image?(filename : String) : Bool
ext = File.extname(filename).downcase
ALLOWED_IMAGES.includes?(ext)
end
def self.valid_document?(filename : String) : Bool
ext = File.extname(filename).downcase
ALLOWED_DOCUMENTS.includes?(ext)
end
endContent-Type Validation
Magic Number Validation
Comprehensive File Validation
Request Validation
Security Considerations
Avoid Path Traversal
Prevent Double Extensions
Validate Image Dimensions
Virus Scanning
See Also
Last updated
Was this helpful?
