When building a customer-facing web application, what approach to input validation should be implemented to most effectively mitigate injection attacks?
Implementing a allowlist input validation mechanism that accepts only specified inputs
Using cryptographic hashing of all inputs to avoid storing or processing plaintext input data
Relying on a blocklist input validation to exclude known dangerous characters and patterns
Enforcing data type constraints and requiring inputs to match the expected data types