-
Notifications
You must be signed in to change notification settings - Fork 0
/
unsecure-login.user.js
51 lines (43 loc) · 1.68 KB
/
unsecure-login.user.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
// ==UserScript==
// @name Unsecure login check
// @namespace htt://taoufix.com/unsecure-login
// @updateURL https://raw.githubusercontent.com/taoufix/user-scripts/master/unsecure-login.user.js
// @include *
// @version 1.2.8
// @grant none
// @require http://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js
// ==/UserScript==
this.$ = this.jQuery = jQuery.noConflict(true);
var pwStyle = "input.pwOK { color: #000000 !important; background-color: #ccffcc !important; background-image: none !important; }"
+ " input.pwWarn { color: #000000 !important; background-color: #ffff98 !important; background-image: none !important; }"
+ " input.pwKO { color: #000000 !important; background-color: #ffbbbb !important; background-image: none !important; }";
$( "<style>" + pwStyle + "</style>" ).appendTo("head");
function getLocation(href) {
var l = document.createElement("a");
l.href = href;
return l;
};
$('input[type=password]').each(function () {
var ok;
var action = $(this).closest('form').attr('action');
if (action.startsWith('https://')) {
ok = true;
} else if (action.startsWith('http://')) {
ok = false;
} else {
// Form action is a relative path and the whole page is HTTPS
ok = (location.protocol === 'https:');
}
var pwClass;
if (!ok) {
pwClass = 'pwKO';
} else if (getLocation(action).hostname === location.hostname) {
pwClass = 'pwOK';
} else {
// Warn about cross domain in HTTPS
pwClass = 'pwWarn';
}
$(this).addClass(pwClass);
// Show form action on mouse hover.
$(this).attr('title', 'form action=' + action);
});