Opened 7 years ago
Last modified 4 months ago
#37758 new defect (bug)
The Link Checker tool does not detect some links
Reported by: |
|
Owned by: | |
---|---|---|---|
Milestone: | Awaiting Review | Priority: | normal |
Severity: | normal | Version: | 4.6 |
Component: | Editor | Keywords: | good-first-bug has-patch |
Focuses: | administration | Cc: |
Description
hello,
The Link Checker tool in WordPress 4.6 doesn’t detect an error when you put something before ‘http(s)‘. Example: xhttps://www.google.com
And the tool does not detect error if a missing letter in "http".
examples :
ttps://core.trac.wordpress.org/newticket
htps://core.trac.wordpress.org/newticket
htts://core.trac.wordpress.org/newticket
Attachments (1)
Change History (9)
#3
@
7 years ago
Right. In order to not flag all the various URI schemes, it only checks links that start with http
. Note that there is another small piece of regex in both link dialogs that prepends http://
to URIs that do not look like local.
On the other hand this can be changed to trigger on anything other than /^(https?|ftp|mailto):|^\//i
as these uncommon schemes are probably used very very rarely.
This ticket was mentioned in PR #2308 on WordPress/wordpress-develop by aleksganev.
16 months ago
#6
- Keywords has-patch added; needs-patch removed
Fixes to the link validation in the TinyMCE editor.
The Link Checker tool in did not correctly validate the Protocol in the links, allowing anything to be written before the ":" part of the link without displaying it as invalid (e.g. _qwerty://www.google.com_).
The validation should now mark as invalid anything that is not a _http(s):_, _mailto:_ or _ftp://_ link.
Trac ticket: https://core.trac.wordpress.org/ticket/37758
#7
@
16 months ago
Hey guys, this is my first patch, so I hope I did everything correctly.
I used @azaozz's suggestion and made the validation mark as invalid everything except http(s), mailto and ftp links. I reused the email check which was already in the file, added a new test that checks for "ftp:" in the beginning of the link and modified the link check, so that it allows only valid http and https urls. If all 3 of the tests fail, the string will be marked as invalid.
@aleks7391 commented on PR #2308:
4 months ago
#8
PR Looks fine.
the line -
if ( ! isLink && ! isEmail && ! isFtp )
is more readable if written this way
if ( ! ( isLink || isEmail || isFtp ) )
@atiqsu Updated that line as suggested. Please take another look.
Commit - 2ae8cf8
Confirmed. You can enter most kinds of stupidity and it will not fire.
Related: #36638, code to find in [38159]
@azaozz