pub fn validate_filename(filename: &str) -> Result<String>Expand description
Validate a file name for safety
File names must:
- Not contain path separators (/ or )
- Not be “.” or “..”
- Not contain null bytes or other control characters
- Be reasonable length (< 255 characters)
§Arguments
filename- The filename to validate
§Returns
Returns the validated filename if validation succeeds, or an error if validation fails.
§Examples
use path_security::validate_filename;
// Valid filenames
let name = validate_filename("document.pdf")?;
let name = validate_filename("report-2024.xlsx")?;
// Invalid filenames
assert!(validate_filename("../etc/passwd").is_err());
assert!(validate_filename(".").is_err());
assert!(validate_filename("..").is_err());