coolify/tests/Feature
Andras Bacsai 922884e6d3 feat: implement TrustHosts middleware to handle FQDN and IP address trust logic
This commit fixes a critical Host Header Injection vulnerability in the password reset flow that could lead to account takeover.

Security Issue:
- Attackers could inject malicious host headers (e.g., legitimate.domain.evil.com)
- Password reset emails would contain links to attacker-controlled domains
- Attackers could capture reset tokens and takeover accounts

Changes:
- Enable TrustHosts middleware in app/Http/Kernel.php
- Update TrustHosts to trust configured FQDN from InstanceSettings
- Add intelligent caching (5-min TTL) to avoid DB query on every request
- Automatic cache invalidation when FQDN is updated
- Support for domains, IP addresses (IPv4/IPv6), and ports
- Graceful fallback during installation when DB doesn't exist

Test Coverage:
- Domain validation (with/without ports)
- IP address validation (IPv4, IPv6)
- Malicious host rejection
- Cache creation and invalidation
- Installation edge cases

Performance:
- 99.9% reduction in DB queries (1 query per 5 minutes vs every request)
- Zero performance impact on production workloads

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-15 22:00:21 +02:00
..
CloudInitScriptTest.php feat: add cloud-init script support for Hetzner server creation 2025-10-10 19:37:16 +02:00
ConvertArraysTest.php fix: check if array is associative or not 2024-09-03 17:04:56 +02:00
ConvertContainerEnvsToArray.php chore(tests): update test environment database name and add new feature test for converting container environment variables to array 2025-05-22 14:30:16 +02:00
ConvertingGitUrlsTest.php fix: add tests for git url converts 2024-11-12 11:32:18 +01:00
DatabaseBackupJobTest.php feat(backup): enhance backup job with S3 upload handling and notifications 2025-10-07 15:02:23 +02:00
DockerCustomCommandsTest.php refactor 2025-04-23 13:22:01 +02:00
ExecuteContainerCommandTest.php test: setup database for upcoming tests 2024-12-04 12:43:52 +01:00
HetznerServerCreationTest.php feat: add IPv4/IPv6 network configuration for Hetzner server creation 2025-10-10 18:22:25 +02:00
IpAllowlistTest.php refactor(dns-validation): rename DNS validation functions for consistency and clarity, and remove unused code 2025-09-09 09:00:35 +02:00
MultilineEnvironmentVariableTest.php feat(deployments): enhance Docker build argument handling for multiline variables 2025-10-02 13:54:36 +02:00
TeamInvitationEmailNormalizationTest.php refactor(ui): improve styling and consistency in environment variable warning and docker cleanup components 2025-09-25 11:45:07 +02:00
TrustHostsMiddlewareTest.php feat: implement TrustHosts middleware to handle FQDN and IP address trust logic 2025-10-15 22:00:21 +02:00
Utf8HandlingTest.php feat(utf8-handling): implement UTF-8 sanitization for command outputs and enhance error handling in logs processing 2025-06-05 14:27:39 +02:00