Roundcube Community Forum

 

Virtual Keyboard

Started by md3v, August 24, 2011, 11:22:26 PM

Previous topic - Next topic

md3v

I would like to request a solution for implementing a virtual keyboard for the RoundCube login interface. We run all of our RoundCube installations under HTTPS to provide connection security and encryption but a number of users access their webmail from Internet Cafe's and a virtual keyboard will provide them with additional protection against keyloggers.

I found a couple TRAC's regarding this:

#1332933 (Virtual Keyboard - patch included)
#1487448 (Add keyboardInput class to password input field for compatibility with virtual keyboard.)

But the mentioned http://webmail.syn-ack.org/ is no longer online.

I agree this should be a plugin.

Christopher.

md3v

I've gone ahead and put together a Virtual Keyboard package for Roundcube 0.5.4, see: Roundcube Virtual Keyboard | m d3velopment

rosali

Why didn't you code it as a plugin? Please provide a patch against default Roundcube.
Regards,
Rosali

md3v

I'm not a coder. I hacked the solution together. Anyone is welcome pick this up and make a patch.

rosali

To port it to a plugin structure shouldn't be too hard. As far as I can see this could be done easily by jQuery (add class "keyboardInput" to "_pass" field, include "keyboard.js" and "keyboard.css").
Regards,
Rosali

rosali

#5
This hack is now available as plugin.

It is skinable and supports localization. There is a glitch regarding automatic language association. The javascript stuff does not use standard language abbreviations. Maybe I'll adjust this later, but it would need a hack in the third party javascript stuff (I hate hacks making futures updates complicated).

Usage:
(*) Copy 'vkeyboard' into plugins folder
(*) Register in main.inc.php "plugins" array.
(*) Done

Download:

http://svn.mail4us.net/plugins/vkeyboard.zip

The above link will not be alive permanently. I'll bundle the plugin with next MyRoundcube plugins release.

@ Original author: If you want to host the plugin version yourself, just let me know.

EDIT: As you can see it is no magic to use Roundcube's powerful Plugin API instead of hacking around in the source code, which makes it hard to implement and maintain it.
Regards,
Rosali