Well, what you could do is use a type of salt. Make a hidden field, and populate it with todays date and time and a "salt" of your choosing, and then cut it to 32 characters.
Something like:
Functions.php
define('SALT_LENGTH', 10);
define('MyText', 'myWebsite');
function generateHash($plainText, $salt = null)
{
if ($salt === null)
{
$salt = substr(md5(uniqid(rand(), true)), 0, SALT_LENGTH);
}
else
{
$salt = substr($salt, 0, SALT_LENGTH);
}
return $salt . sha1($salt . $plainText);
}
Your HTML form:
include('functions.php');
// ...
$security = generateHash(MyText);
echo '<input type="hidden" name="security" value="' . $security . '" />
<input type="text" name="username'.$security.'" value="" />
<input type="password" name="password'.$security.'" value="" />';
// ...
And to "decrypt" or make sure it's right:
include('functions.php');
$hash = $_POST['security'];
$username = $_POST['username'.$hash];
$password = $_POST['password'.$hash];
if(empty($username) || empty($password))
die('Hacking Attempt');
//...
But that's a basic idea of extra encryption. You might think about using AJAX with this too. Send the username across to your encryption file which sends back a JSON or XML response with the username salted with whatever text (current time?) and you then you can use that security code to know whether it's authentic. I'm not a security expert, so take my examples with a grain of salt (no pun intended).
But like I said before, I still think it's a browser operator (i.e. the person sitting at the keyboard) error. They have to know the risks of surfing the web, and how to properly secure their browser.