For "scam" warnings due to bad links, only warn on click.
Categories
(Thunderbird :: Security, enhancement)
Tracking
(Not tracked)
People
(Reporter: jsbruner, Assigned: jsbruner)
References
(Depends on 1 open bug, Blocks 1 open bug)
Details
Attachments
(2 files, 13 obsolete files)
368.75 KB,
image/png
|
Details | |
25.52 KB,
patch
|
mkmelin
:
review+
|
Details | Diff | Splinter Review |
Assignee | ||
Updated•6 years ago
|
Assignee | ||
Comment 1•6 years ago
|
||
Assignee | ||
Comment 2•6 years ago
|
||
Comment 4•6 years ago
|
||
Assignee | ||
Comment 5•6 years ago
|
||
Assignee | ||
Comment 6•6 years ago
|
||
Comment 7•6 years ago
|
||
Comment 8•6 years ago
|
||
Comment 9•6 years ago
|
||
Assignee | ||
Comment 10•6 years ago
|
||
Assignee | ||
Comment 11•6 years ago
|
||
Comment 12•6 years ago
|
||
Assignee | ||
Comment 13•6 years ago
|
||
Assignee | ||
Comment 14•6 years ago
|
||
Assignee | ||
Comment 15•6 years ago
|
||
Comment 16•6 years ago
|
||
Assignee | ||
Comment 17•6 years ago
|
||
Comment 18•6 years ago
|
||
Comment 19•6 years ago
|
||
Comment 20•6 years ago
|
||
Assignee | ||
Comment 21•6 years ago
|
||
Assignee | ||
Comment 22•6 years ago
|
||
Assignee | ||
Comment 23•6 years ago
|
||
Comment 24•6 years ago
|
||
Comment 25•6 years ago
|
||
Comment 26•6 years ago
|
||
Assignee | ||
Comment 27•6 years ago
|
||
Assignee | ||
Comment 29•6 years ago
|
||
Assignee | ||
Comment 30•6 years ago
|
||
Assignee | ||
Comment 31•6 years ago
|
||
Assignee | ||
Comment 32•6 years ago
|
||
Assignee | ||
Comment 33•6 years ago
|
||
Comment 34•6 years ago
|
||
Comment 35•6 years ago
|
||
Josiah, any plans to finish this? I'd like us to get this in for 68.
Assignee | ||
Comment 36•6 years ago
|
||
(In reply to Magnus Melin [:mkmelin] from comment #35)
Josiah, any plans to finish this? I'd like us to get this in for 68.
Oh, sorry. I had an increase in commitments and then forgot about this. I do plan to finish it. I'll get a new patch to you by Sunday evening.
Assignee | ||
Comment 37•6 years ago
|
||
Rebased on top of trunk
Assignee | ||
Comment 38•6 years ago
|
||
(In reply to Magnus Melin [:mkmelin] from comment #34)
::: mail/base/content/contentAreaClick.js
@@ +30,4 @@{ if (target.hasAttribute("href")) href = target.href;
linkText = gatherTextUnder(target)
this should be inside the if-clause, no?
Well, it doesn't have to be. The point here was that in some cases the href attribute may not exist in target, so to prevent runtime errors we avoid accessing href in such a case. gatherTextUnder(), on the other hand, won't fail, so whatever it returns is fine (empty string or the actual contents).
If you have better suggestion for formatting I'm totally open to it!
::: mail/base/content/phishingDetector.js
@@ +220,5 @@
- const nsIPS = Ci.nsIPromptService;
- // If the message was detected as a scam in the general sense, display a
- // generic warning...
- if (prevDetectedAsScam) {
I hadn't expected this.
Why special case it? If we based the detection on the link mismatch, I'd
like the new linktext choice, but if it's for other reasons (like including
a form), displaying the message here doesn't make sense to me.
Primarily this was for backwards feature compatibility. If (for example) suspicious forms exists, the user will immediately see a red phishing bar. However, the user is still allowed to click on links.
The existing behavior is to, on these link clicks, warn the user that the current message was detected as a scam before they navigate away. I think this is still useful because malicious emails may make form links invisible (for example). We still don't want users to accidentally navigate to a third-party site.
@@ +539,5 @@
+#LOCALIZATION NOTE %1$S is the host name of indicated host, %2$S is the host name of the actual host.
+confirmPhishingUrlAlternate=The link you just clicked seems to lead to another site than the link text indicated.\n\nThe link text indicated that the link would lead to %1$S, but it will go to %2$S.\nThis is sometimes used for tracking whether you clicked the link, but could also be a scam.
+#LOCALIZATION NOTE $1$S is the host name of the indicated host.
+confirmPhishingGoAhead=Go to %1$S anyway
+confirmPhishingGetOut=Get me out of here!Why no just Cancel? There's a standard button for it
The rationale was that the warning may "scare" users and may wonder what "Cancel" actually means. They may think it means ignoring the warning, which is not right. The goal of using "Get me out of here!" is to emphasize that it is a safe option (Firefox used similar text for TLS errors IIRC).
Upon further reflection though, I'm not sure "Get me out of here!" is as clear as I would like. Maybe "Stay Here" or "Don't leave" is clearer?
Assignee | ||
Comment 39•6 years ago
|
||
(In reply to Magnus Melin [:mkmelin] from comment #34)
Comment on attachment 9011248 [details] [diff] [review]
PatchReview of attachment 9011248 [details] [diff] [review]:
@@ +537,4 @@
#LOCALIZATION NOTE %1$S is the brand name, %2$S is the host name of the url being visited
confirmPhishingUrl=%1$S thinks this message is a scam. The links in the message may be trying to impersonate web pages you want to visit. Are you sure you want to visit %2$S?
+#LOCALIZATION NOTE %1$S is the host name of indicated host, %2$S is the host name of the actual host.
+confirmPhishingUrlAlternate=The link you just clicked seems to lead to another site than the link text indicated.\n\nThe link text indicated that the link would lead to %1$S, but it will go to %2$S.\nThis is sometimes used for tracking whether you clicked the link, but could also be a scam.I would remove this newline
Which newline?
Assignee | ||
Comment 40•6 years ago
|
||
Here's a new patch with most of :mkmelin's comments resolved.
Assignee | ||
Comment 41•6 years ago
|
||
I just realized that a bug exists in Patch v3 since I moved the buttons around.
However, while resolving this, I figured out why I had the button positions they way I did originally. nsIPromptService says (on Linux) the cancel button is button 1 (https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIPromptService#Button_default_flags).
Given this, I still think the correct approach (On Linux and Mac) is:
[Go to a.com anyway] [Cancel/Get Me out of Here] [Go to google.com]
New patching incoming...
Assignee | ||
Comment 42•6 years ago
|
||
This resets the button layout to match https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIPromptService#Button_default_flags
Comment 43•6 years ago
|
||
Comment 44•6 years ago
|
||
Sent off to try https://treeherder.mozilla.org/#/jobs?repo=try-comm-central&revision=bca899727398710c824a94557ae2419d3705ca09
Updated•6 years ago
|
Comment 45•6 years ago
|
||
hRefForClickEvent needed some changes. New try
Comment 46•6 years ago
|
||
Updated•6 years ago
|
Assignee | ||
Comment 47•6 years ago
|
||
Thanks Magnus!
Comment 48•6 years ago
|
||
Pushed by mozilla@jorgk.com:
https://hg.mozilla.org/comm-central/rev/9ec42b993238
Only warn the user about possible phishing URLs when they click the link. r=mkmelin
Updated•6 years ago
|
Description
•