PDA

View Full Version : Miscellaneous Hacks - VB Graphical Virtual Keyboard Interface


yoyoyoyo
10-11-2007, 10:00 PM
VB Graphical Virtual Keyboard Interface
version 1.1

Template edits: 7
New file to upload: 3
Install Time: approx. 10 minutes

About this modification:

This adds a graphical keyboard interface to allow forum members to easily input their passwords so they can be filled by clicking their mouse only (to avoid keyloggers).

It also adds easy access to special characters your existing keyboard may not otherwise have the ability to generate.

Comes with Belgian, Dutch, Dvorak, French, German, Greek, Lithuanian, Norwegian, Number Pad, Polish Programmers, Portuguese, Russian, Turkish-F, Turkish-QWERTY, UK, US Standard and US International keyboard layouts, dynamically selectable.

This script has been tested to work in IE 6.0, IE 7.0, Firefox 2.0.0.4, Firefox 2.0.0.7, Opera 9.21 and Safari 3.0 beta for Windows. If javascript is disabled, the keyboard icons simply do not appear, so the script degrades gracefully.

Installation:

Upload:

Upload the contents of the "forum" folder to your forum root folder (the same folder that has index.php, memberlist.php. etc.)

NOTE: If you also are using a CMPS such as vBadvanced, also upload the contents of the "forum" folder to the root directory of your site where your CMPS is installed as well.

Template Edits:

Go to your Admin Control Panel, and select the "Styles & Templates" navigation option, and click on "Style Manager"
In the dropdown menu select "Edit Templates"
click on the "<<>>" button to expand all of the templates
select the "headinclude" template and click on "Customize" or "Edit"
In your "headinclude" template add this to the very bottom:

<script type="text/javascript" src="keyboard.js" charset="UTF-8"></script>
<link rel="stylesheet" type="text/css" href="keyboard.css">click "save"

Next, select the "navbar" template and click on "Customize" or "Edit"

search for:
<td><input type="password" class="bginput" style="font-size: 11px" name="vb_login_password" id="navbar_password" size="10" tabindex="102" /></td>change to:
<td><input type="password" class="keyboardInput" style="font-size: 11px" name="vb_login_password" id="navbar_password" size="10" tabindex="102" /></td>click "save"

Select the register template and click on "Customize" or "Edit"

search for:
<input type="password" class="bginput" name="password" size="25" maxlength="50" value="$password" />
</td>
<td>
$vbphrase[confirm_password]:<br />
<input type="password" class="bginput" name="passwordconfirm" size="25" maxlength="50" value="$passwordconfirm" />change to:
<input type="password" class="keyboardInput" name="password" size="25" maxlength="50" value="$password" />
</td>
<td>
$vbphrase[confirm_password]:<br />
<input type="password" class="keyboardInput" name="passwordconfirm" size="25" maxlength="50" value="$passwordconfirm" />click "save"

Select the modifypassword template and click on "Customize" or "Edit"

search for:
<div class="fieldset">
<div>$vbphrase[enter_password_to_continue]:</div>
<div><input type="password" class="bginput" name="currentpassword" size="50" maxlength="50" /></div>
</div>

<fieldset class="fieldset">
<legend>$vbphrase[edit_password]<if condition="$show['password_optional']"> ($vbphrase[optional])</if></legend>
<table cellpadding="0" cellspacing="$stylevar[formspacer]" border="0">
<tr>
<td>
<div>$vbphrase[new_password]:</div>
<div><input type="password" class="bginput" name="newpassword" size="50" maxlength="50" /></div>
</td>
</tr>
<tr>
<td>
<div>$vbphrase[confirm_new_password]:</div>
<div><input type="password" class="bginput" name="newpasswordconfirm" size="50" maxlength="50" /></div>
</td>
</tr>
</table>
</fieldset>change to:
<div class="fieldset">
<div>$vbphrase[enter_password_to_continue]:</div>
<div><input type="password" class="keyboardInput" name="currentpassword" size="50" maxlength="50" /></div>
</div>

<fieldset class="fieldset">
<legend>$vbphrase[edit_password]<if condition="$show['password_optional']"> ($vbphrase[optional])</if></legend>
<table cellpadding="0" cellspacing="$stylevar[formspacer]" border="0">
<tr>
<td>
<div>$vbphrase[new_password]:</div>
<div><input type="password" class="keyboardInput" name="newpassword" size="50" maxlength="50" /></div>
</td>
</tr>
<tr>
<td>
<div>$vbphrase[confirm_new_password]:</div>
<div><input type="password" class="keyboardInput" name="newpasswordconfirm" size="50" maxlength="50" /></div>
</td>
</tr>
</table>
</fieldset>click "save"

Select the STANDARD_ERROR template and click on "Customize" or "Edit"

search for:
<tr>
<td>$vbphrase[password]:<br /><input type="password" class="bginput" name="vb_login_password" size="50" tabindex="1" /></td>
</tr>change to:
<tr>
<td>$vbphrase[password]:<br /><input type="password" class="keyboardInput" name="vb_login_password" size="50" tabindex="1" /></td>
</tr>click "save"

Select the STANDARD_ERROR_LITE template and click on "Customize" or "Edit"

search for:
<tr>
<td>$vbphrase[password]:<br /><input type="password" class="bginput" name="vb_login_password" size="50" tabindex="1" /></td>
</tr>change to:
<tr>
<td>$vbphrase[password]:<br /><input type="password" class="keyboardInput" name="vb_login_password" size="50" tabindex="1" /></td>
</tr>click "save"

Select the STANDARD_ERROR_LOGIN template and click on "Customize" or "Edit"

search for:
<tr>
<td>$vbphrase[password]:</td>
<td><input type="password" class="bginput" name="vb_login_password" size="50" tabindex="1" /></td>
</tr>change to:

<tr>
<td>$vbphrase[password]:</td>
<td><input type="password" class="keyboardInput" name="vb_login_password" size="50" tabindex="1" /></td>
</tr>click "save"

Customization:

To change the default keyboard which displays first for each different page, change the value of the this.VKI_kt variable to the name of the keyboard. For example, to make the default keyboard "US Int'l", change the value like so: this.VKI_kt = "US Int'l";.

To turn dead keys on by default, set the value of this.VKI_deadkeysOn to true.

Usage:

Simply click on the keyboard icon and the virtual keyboard drops down.
To choose your keyboard layout select the keyboard of your choice via the dropdown menu.
Enter your password by clicking on the virtual keys.
To close the keyboard, click on the keyboard icon again.HISTORY:
v 1.0: released 10/12/2007
v 1.0.1: released 10/12/2007 - added Romanian PC L101 keyboard
v 1.1: released 10/12/2007 - added the virtual keyboard to Register, Modify Password and error screens password entry

PLEASE CLICK INSTALL (https://vborg.vbsupport.ru/vborg_miscactions.php?do=installhack&threadid=160060)

NOMINATE FOR MOTM (https://vborg.vbsupport.ru/vborg_miscactions.php?do=nominate&threadid=160060&type=1)

yoyoyoyo
10-12-2007, 04:20 AM
reserved

Mr_Snob
10-12-2007, 05:13 AM
cool tenk yuuuu :D:D

beduino
10-12-2007, 10:45 AM
WOW,
It's a wonderful code!
Tks yoyoyoyo!
All the best
Beduino

beduino
10-12-2007, 11:08 AM
Hi:
a question: it's possible disable input values by mouse?
After install this hack only allow passwords by keyboard-gif?

katilkuzu
10-12-2007, 11:20 AM
usefullll a hack and nice idea. installed*

yoyoyoyo
10-12-2007, 11:38 AM
Hi:
a question: it's possible disable input values by mouse?
After install this hack only allow passwords by keyboard-gif?
You can enter passwords by either the graphical keyboard (using the mouse) or by a regular keyboard. Your users are not forced to use the graphical keyboard - it is just an option. To be sure I just tested that function in IE7 and Firefox and it worked as usual.

beduino
10-12-2007, 11:49 AM
Tks yoyoyoyo :)
I just test too. In fact my question is if i can disable passwords by regular keyboard.
My wish is only allow the graphical keyboard method
tks
Beduino

Magnumutz
10-12-2007, 01:17 PM
Could you input a Romanian keyboard to it?

yoyoyoyo
10-12-2007, 02:35 PM
Could you input a Romanian keyboard to it?
I just updated the file to include a Romanian keyboard for you :)

yoyoyoyo
10-12-2007, 03:14 PM
I just updated to version 1.1:
I added the virtual keyboard to Register, Modify Password and error screens password entry forms

TheBlackPoet
10-12-2007, 04:49 PM
its works great for me.. its very nice.....

Masiello
10-12-2007, 06:06 PM
usefullll a hack and nice idea. installed*
Yes, I'm try it in a next vB 3.6.9 version, hope it coming soon...
Thanks for that great code.

Allan
10-12-2007, 06:45 PM
H?h?, good idea :)

pspmaster93
10-13-2007, 11:09 PM
is it possible to put a keyboard for the admin/mod cp login because keyloggers might not detect login from site but as soon as you log into the control panel they got your password.

yoyoyoyo
10-14-2007, 01:01 AM
is it possible to put a keyboard for the admin/mod cp login because keyloggers might not detect login from site but as soon as you log into the control panel they got your password.good idea - I will look in to that and update the mod later.

pspmaster93
10-14-2007, 04:33 AM
thanks. that would be cool

idan0401
10-14-2007, 07:56 AM
thank you

yoyoyoyo
10-14-2007, 02:39 PM
it appears that the mod cp and admin cp are not handled by any templates, and instead by adminfunctions.php, so it is a bit harder to add this to those, but I am working on it.

pspmaster93
10-14-2007, 07:17 PM
hmm i thought so because i couldnt find any templates for the mod/admin cp i was gonna try and do it myself..i kinda know a bit about that kinda stuff

yoyoyoyo
10-16-2007, 12:35 AM
I have tried every trick I can think of to incorporate this in to the modcp and admincp login screens, but so far no luck - if anyone has any ideas or suggestions I would appreciate it. Since the javascript is in place, all that needs to happen is the "bginput" needs to be substituted with "keyboardInput" in the proper spot, but as I said, I have tried all that I can try right now. Any suggestions, fixes or ideas are welcome. This is not vital, since the mod works fine without this addition, but to make it complete and have the graphical keyboard at all areas where passwords need to be entered would be ideal.

Saviour
10-17-2007, 02:00 AM
yoyoyoyo...

This is a fantastic mod...thanks..."clicks Installed"...

Saviour
10-17-2007, 03:18 AM
You may want to update your mod to fix the following...the way you have it coded places two password boxes on the registration page...including the confirm password box...for a total of three password boxes.

Here's your code:

Select the register template and click on "Customize" or "Edit"

search for:

<input type="password" class="bginput" name="password" size="25" maxlength="50" value="$password" />
</td>
<td>
$vbphrase[confirm_password]:<br />
<input type="password" class="bginput" name="passwordconfirm" size="25" maxlength="50" value="$passwordconfirm" />

change to

<input type="password" class="keyboardInput" name="password" size="25" maxlength="50" value="$password" />
<input type="password" class="keyboardInput" name="password" size="25" maxlength="50" value="$password" />
</td>
<td>
$vbphrase[confirm_password]:<br />
<input type="password" class="keyboardInput" name="passwordconfirm" size="25" maxlength="50" value="$passwordconfirm" />

click "save"

Do you see the duplicate line of code marked in red above?

Here's what it should be:

Select the register template and click on "Customize" or "Edit"

search for:

<input type="password" class="bginput" name="password" size="25" maxlength="50" value="$password" />
</td>
<td>
$vbphrase[confirm_password]:<br />
<input type="password" class="bginput" name="passwordconfirm" size="25" maxlength="50" value="$passwordconfirm" />

change to


<input type="password" class="keyboardInput" name="password" size="25" maxlength="50" value="$password" />
</td>
<td>
$vbphrase[confirm_password]:<br />
<input type="password" class="keyboardInput" name="passwordconfirm" size="25" maxlength="50" value="$passwordconfirm" />

click "save"

I still have it installed...was just checking to see if everything worked properly and found the issue.

yoyoyoyo
10-17-2007, 04:05 AM
ok - thanks for catching that

Saviour
10-17-2007, 04:31 AM
You're welcome...

Something else you may want to consider...

Your code:

Select the STANDARD_ERROR template and click on "Customize" or "Edit"

search for:

<tr>
<td class="alt1">$vbphrase[password]:</td>
<td class="alt1"><input type="password" class="bginput" name="vb_login_password" size="50" tabindex="1" /></td>
</tr>

change to:

<tr>
<td class="alt1">$vbphrase[password]:</td>
<td class="alt1"><input type="password" class="keyboardInput" name="vb_login_password" size="50" tabindex="1" /></td>
</tr>

click "save"

Select the STANDARD_ERROR_LITE template and click on "Customize" or "Edit"

search for

<tr>
<td class="alt1">$vbphrase[password]:</td>
<td class="alt1"><input type="password" class="bginput" name="vb_login_password" size="50" tabindex="1" /></td>
</tr>

change to:

<tr>
<td class="alt1">$vbphrase[password]:</td>
<td class="alt1"><input type="password" class="keyboardInput" name="vb_login_password" size="50" tabindex="1" /></td>
</tr>

click "save"

Notice the code highlighted in red? If someone is searching for this code in the template, they may not locate it, because the actual code within the original template does not include the "alt1" code. Also, the code is missing a <br /> inserted after the [password]: coding.

If you use the code you have...you will see there's an error in the displaying of the password box.

You may want to use the code I have below to fix this problem:

Select the STANDARD_ERROR template and click on "Customize" or "Edit"

search for:

<tr>
<td>$vbphrase[password]:<br /><input type="password" class="bginput" name="vb_login_password" size="50" tabindex="1" /></td>
</tr>

change to:

<tr>
<td>$vbphrase[password]:<br /><input type="password" class="keyboardInput" name="vb_login_password" size="50" tabindex="1" /></td>
</tr>

click "save"

Select the STANDARD_ERROR_LITE template and click on "Customize" or "Edit"

search for

<tr>
<td>$vbphrase[password]:<br /><input type="password" class="bginput" name="vb_login_password" size="50" tabindex="1" /></td>
</tr>

change to:

<tr>
<td>$vbphrase[password]:<br /><input type="password" class="keyboardInput" name="vb_login_password" size="50" tabindex="1" /></td>
</tr>

click "save"

Notice the changes I've made to your code in red. Users will now be able to locate the code they need to modify.

They will also be able to view the correct positioning of the password box if they use my code.

I didn't change the coding for the last STANDARD_ERROR_LOGIN template, since I don't know what this template actually does...or even how it's displayed, for that matter.

Just giving you a "heads up" so you're not hit with tons of people telling you about the problem.

BTW...if you get the chance...can you tell me when the STANDARD_ERROR_LOGIN template is seen by someone who tries to login? Is this when someone initially registers and is prompted to login? If so, you may want to test that, again as well, to make sure the password box is being displayed correctlyl.

Good luck!

yoyoyoyo
10-17-2007, 10:25 AM
duly noted and fixed - thanks again. I was going by my modified templates and forgot to check the original.

Saviour
10-17-2007, 10:40 AM
No problem...and you're more than welcome...we all have our days:D

pspmaster93
10-19-2007, 12:10 AM
yes, the alt1 i could not find because i do not have an alternate so i just changed the class of my default one to KeyboardInput and it worked also i noticed the multiple text boxes before too but if you know a bit about stuff like that you can easily fix that yourself...i had no problems just had to do a couple changes because of some small glitches but now its working great. this is a very good mod, also one question... why when i go to my site on my PSP the keyboard does not show up?

yoyoyoyo
10-19-2007, 01:04 AM
yeah - sorry about that - it should all be fine now though - so anyone new trying to install it won't have any problems finding the code, etc.. As far as the psp, I have no idea - as I mentioned in the first post this has been tested on IE 6.0, IE 7.0, Firefox 2.0.0.4, Firefox 2.0.0.7, Opera 9.21 and Safari 3.0 beta for Windows and it worked fine in all of them.

Brickan
11-06-2007, 07:21 AM
Hi nice work

how hard is it to make a swedish Layout ?
Ö Ä Å ö ä å

nickypoooo
11-20-2007, 11:54 PM
Great idea, any chace to add Hebrew?

Pcwolfx?
01-07-2008, 12:28 PM
it's wonderful thank you.

rgamill
11-30-2008, 05:20 AM
Will this hack work with vb 3.7.4?