Disables the virtual keyboard on several credit union net banking sites run by NetTeller (EG: QTCU)
I hate those virtual keyboards.
The bank says statistically less accounts get hacked into with virtual keyboards, statistically they may be right – perhaps simply because ‘evil’ people haven’t gotten around to using screen readers – or even simple hidden cameras.
Face it, on an LCD screen – a camera is all you need to read someone’s login, failing that VNC...
I work in a workplace with cameras so I’d rather NOT be using a method where people can follow my every move on screen.
Here is the outcome.
View the post on Userscripts.org or Install the script// ==UserScript==
// @name QTCU Disable Virtual Keyboard
// @namespace http://fremnet.net/
// @description Disables the virtual keyboard on QTCU
// @include https://netteller*.tsw.com.au/*/ntv45.asp?*
// @include https://netaccess*.qtcu.com.au/*/ntv45.asp?*
// ==/UserScript==
// Our callback for keypress
function dokeypress(e) {
if (e.which==0) return true;
if (e.which==8) return true;
if (e.which==13) return true;
if (e.which==32) return true;
key='`1234567890-=qwertyuiop[]\\asdfghjkl;\'zxcvbnm,./~!@#$%^&*()_+QWERTYUIOP{}|ASDFGHJKL:"ZXCVBNM<>?';
n=key.indexOf(String.fromCharCode(e.which));
e.target.value += unsafeWindow.skx.charAt(n);
e.preventDefault();
return false
}
// Eradicate the annoying functions from the page.
unsafeWindow.kpinit = function() {}
unsafeWindow.defocus = function () {}
unsafeWindow.recallkp = function() {}
// Use their own scripting against them
ft = document.getElementsByTagName("INPUT");
for (var i=0; i<ft.length; i++){
if (ft[i].type.toLowerCase() == "password"){
// Clean it up...
if (window.location.href.match('wci=entry') && ft[i].name=='PWD') {
ft[1].parentNode.parentNode.parentNode.childNodes['2'].cells[0].innerHTML = 'Access Password:';
ft[1].parentNode.parentNode.parentNode.deleteRow(2);
}
ft[i].removeAttribute('onfocus');
ft[i].addEventListener('keypress',dokeypress,true);
}
}