1. import java.util.Arrays;
  2. import java.util.regex.Pattern;
  3. class EnvironmentSanitizer {
  4. /**
  5. * Sanitizes environment variable values.
  6. *
  7. * @param envVarValue The raw value of the environment variable.
  8. * @return The sanitized value, or null if the input is invalid.
  9. */
  10. public static String sanitize(String envVarValue) {
  11. if (envVarValue == null || envVarValue.isEmpty()) {
  12. return null; // Or an empty string "" if preferred
  13. }
  14. // Remove leading/trailing whitespace
  15. envVarValue = envVarValue.trim();
  16. // Sanitize: Allow only alphanumeric characters, underscores, and hyphens.
  17. // This can be adjusted based on specific requirements.
  18. Pattern pattern = Pattern.compile("^[a-zA-Z0-9_-]+$");
  19. if (!pattern.matcher(envVarValue).matches()) {
  20. return null; // Or throw an exception, log an error, etc.
  21. }
  22. return envVarValue;
  23. }
  24. public static void main(String[] args) {
  25. //Example Usage
  26. String rawValue1 = " my_variable-123 ";
  27. String sanitizedValue1 = sanitize(rawValue1);
  28. System.out.println("Raw: " + rawValue1 + ", Sanitized: " + sanitizedValue1);
  29. String rawValue2 = "invalid_char@#$%";
  30. String sanitizedValue2 = sanitize(rawValue2);
  31. System.out.println("Raw: " + rawValue2 + ", Sanitized: " + sanitizedValue2);
  32. String rawValue3 = null;
  33. String sanitizedValue3 = sanitize(rawValue3);
  34. System.out.println("Raw: " + rawValue3 + ", Sanitized: " + sanitizedValue3);
  35. String rawValue4 = "";
  36. String sanitizedValue4 = sanitize(rawValue4);
  37. System.out.println("Raw: " + rawValue4 + ", Sanitized: " + sanitizedValue4);
  38. }
  39. }

Add your comment