[Validator] add checkTldDns
option to UrlValidator
#46921
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
With Symfony 5.0 the option "checkDns" was removed from the "UrlValidator" and the validator was completely changed to RegEx checks.
See: https://symfony.com/doc/4.4/reference/constraints/Url.html#checkdns
In issue #39986 it was noted that there is no way to check if this checked URL would really be usable.
While I can understand that individual DNS records might be temporarily unavailable, TLD name servers should generally always be available.
For this reason, I added the new option "checkTldDns" in this MR based on the option from Symfony 4.4 and earlier. This will perform a NS DNS query to the TLD of the checked URL.
Of course, this is still not an absolutely secure method but optionally allows to increase the security of the check.
If there is a chance that this will be added, I will be happy to write the doc for it as well.