-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix problem with false positives (external URLs) #13
Comments
Analysis of some URLs which are causing problems. Currently brofix sends the following HTTP headers (see TSconfig):
It looks like the Accept-Language / Accept-Encoding may be causing problems in some cases. It is possible to simulate this with curl:
curl sends these headers (by default):
be sure to add the -L to follow redirects .... |
Reason: Incomplete certificate chain
Example:
Solutions
This could be done with an extra tool but should not be implemented in brofix.
Use custom CA bundle Side noteThe same error code (curl(60)) may also be the result for more severe TLS / certificate issues. Same error code but different error message (in command line curl) !
Example:
Certificate has "Certificate Name mismatch, see Qualis SSL Labs
see resources:guzzle
other
|
Reason: probably cloudflare DDoS protection I'm unter attack
|
This is a breaking change! It is advised to look at the Changelog in the documentation for more information. The checkLinks functions in all LinktypeInterface classes now results a LinkTargetResponse object. In this, a status is stored for the link checking, which makes it easier to handling other link target status apart from broken. This effectively makes the following possible: - show all links in the broken link list, not just the broken links - better handling of link targets, which can't be checked. This includes for example URLs with 401 or 403 HTTP status codes, where it is not possible to check the URLs. Previously, these URLs were considered broken while in fact we do not know if they are broken or not and we have no was to check them. This also includes URLs protected by cloudflare. They are now stored not as broken but as "can't be checked" - it is possible to filter in the link list by this new status Resolves: #296 Resolves: #289 Related: #13
This is a breaking change! It is advised to look at the Changelog in the documentation for more information. The checkLinks functions in all LinktypeInterface classes now results a LinkTargetResponse object. In this, a status is stored for the link checking, which makes it easier to handling other link target status apart from broken. This effectively makes the following possible: - show all links in the broken link list, not just the broken links - better handling of link targets, which can't be checked. This includes for example URLs with 401 or 403 HTTP status codes, where it is not possible to check the URLs. Previously, these URLs were considered broken while in fact we do not know if they are broken or not and we have no was to check them. This also includes URLs protected by cloudflare. They are now stored not as broken but as "can't be checked" - it is possible to filter in the link list by this new status Resolves: #296 Resolves: #289 Related: #13
This is a breaking change! It is advised to look at the Changelog in the documentation for more information. The checkLinks functions in all LinktypeInterface classes now results a LinkTargetResponse object. In this, a status is stored for the link checking, which makes it easier to handling other link target status apart from broken. This effectively makes the following possible: - show all links in the broken link list, not just the broken links - better handling of link targets, which can't be checked. This includes for example URLs with 401 or 403 HTTP status codes, where it is not possible to check the URLs. Previously, these URLs were considered broken while in fact we do not know if they are broken or not and we have no was to check them. This also includes URLs protected by cloudflare. They are now stored not as broken but as "can't be checked" - it is possible to filter in the link list by this new status Resolves: #296 Resolves: #289 Related: #13
This is a breaking change! It is advised to look at the Changelog in the documentation for more information. The checkLinks functions in all LinktypeInterface classes now results a LinkTargetResponse object. In this, a status is stored for the link checking, which makes it easier to handling other link target status apart from broken. This effectively makes the following possible: - show all links in the broken link list, not just the broken links - better handling of link targets, which can't be checked. This includes for example URLs with 401 or 403 HTTP status codes, where it is not possible to check the URLs. Previously, these URLs were considered broken while in fact we do not know if they are broken or not and we have no was to check them. This also includes URLs protected by cloudflare. They are now stored not as broken but as "can't be checked" - it is possible to filter in the link list by this new status Resolves: #296 Resolves: #289 Related: #13
This is a breaking change! It is advised to look at the Changelog in the documentation for more information. The checkLinks functions in all LinktypeInterface classes now results a LinkTargetResponse object. In this, a status is stored for the link checking, which makes it easier to handling other link target status apart from broken. This effectively makes the following possible: - show all links in the broken link list, not just the broken links - better handling of link targets, which can't be checked. This includes for example URLs with 401 or 403 HTTP status codes, where it is not possible to check the URLs. Previously, these URLs were considered broken while in fact we do not know if they are broken or not and we have no was to check them. This also includes URLs protected by cloudflare. They are now stored not as broken but as "can't be checked" - it is possible to filter in the link list by this new status Resolves: #296 Resolves: #289 Related: #13
This is a breaking change! It is advised to look at the Changelog in the documentation for more information. The checkLinks functions in all LinktypeInterface classes now results a LinkTargetResponse object. In this, a status is stored for the link checking, which makes it easier to handling other link target status apart from broken. This effectively makes the following possible: - show all links in the broken link list, not just the broken links - better handling of link targets, which can't be checked. This includes for example URLs with 401 or 403 HTTP status codes, where it is not possible to check the URLs. Previously, these URLs were considered broken while in fact we do not know if they are broken or not and we have no was to check them. This also includes URLs protected by cloudflare. They are now stored not as broken but as "can't be checked" - it is possible to filter in the link list by this new status Resolves: #296 Resolves: #289 Related: #13
This is a breaking change! It is advised to look at the Changelog in the documentation for more information. The checkLinks functions in all LinktypeInterface classes now results a LinkTargetResponse object. In this, a status is stored for the link checking, which makes it easier to handling other link target status apart from broken. This effectively makes the following possible: - show all links in the broken link list, not just the broken links - better handling of link targets, which can't be checked. This includes for example URLs with 401 or 403 HTTP status codes, where it is not possible to check the URLs. Previously, these URLs were considered broken while in fact we do not know if they are broken or not and we have no was to check them. This also includes URLs protected by cloudflare. They are now stored not as broken but as "can't be checked" - it is possible to filter in the link list by this new status Resolves: #296 Resolves: #289 Related: #13
* !!![FEATURE] Better handling of link target results This is a breaking change! It is advised to look at the Changelog in the documentation for more information. The checkLinks functions in all LinktypeInterface classes now results a LinkTargetResponse object. In this, a status is stored for the link checking, which makes it easier to handling other link target status apart from broken. This effectively makes the following possible: - show all links in the broken link list, not just the broken links - better handling of link targets, which can't be checked. This includes for example URLs with 401 or 403 HTTP status codes, where it is not possible to check the URLs. Previously, these URLs were considered broken while in fact we do not know if they are broken or not and we have no was to check them. This also includes URLs protected by cloudflare. They are now stored not as broken but as "can't be checked" - it is possible to filter in the link list by this new status Resolves: #296 Resolves: #289 Related: #13
todos
summary
So far, the following reasons for false positives could be verified:
problem description
some URLs are reported as errors even though they work (in browser)
Examples:
other
Apart from this, all 401, 403 (access restricted URLs) will fail. In that case, it is not really an error, but expected. For these cases, they could either be added as exclude link target entry, or we could make external link type errors configurable (e.g. have an exclude list for that as well, where you could exclude for example 401, 403, maybe also "too many redirects").
see also: https://notes.typo3.org/linkvalidator_problem_external_urls
Related:
The text was updated successfully, but these errors were encountered: