【发布时间】:2013-03-07 18:38:42
【问题描述】:
我创建了一个表单,它将以密码的形式从用户那里获取输入。然后我想在客户端对其进行编码,然后在服务器端对其进行解密。所以想用JS编码,用PHP解码。所以写了下面提到的JS代码:
<script>
function doThis()
{
document.myform.password.value = "hello" + document.myform.password.value; // Considering this as encoded data
return true;
}
</script>
当我尝试对这些数据进行编码时,它会导致问题,这是因为我没有使用正确的编码算法。经过一番搜索,我发现了一个编码解码方法 base64_decode 和 base64_encode,它们都是 PHP 的。所以我想知道是否有任何方法可以在 JS 中编码并在 PHP 中解码,以便我可以获得正确的数据。在服务器上我使用以下代码:
$password = base64_decode($_POST['password']);
HTML 代码:
<form name="myform" onsubmit="return doThis()" action="admin.php" method="post">
<input type="password" name="password" id='password'>
<input type="submit" value="SignIn">
这将有助于在从客户端发送到服务器时保护密码。我不想使用 SSL,但仍想保护密码免受钓鱼或其他类型的攻击。
请通过代码示例帮助理解这一点。如果我可以使用任何其他加密算法,请帮助我理解使用代码。 也只能通过PHP来实现吗?我google了一下,发现我们需要JS来做,因为需要在客户端编码,但是因为使用PHP所以想用PHP解码。
【问题讨论】:
-
这完全没有意义。使用 SSL 连接,您将获得“免费”的加密。通过在 JS 中做地穴,无论如何你都必须包含地穴代码,所以你基本上提供了“安全性”,就像一张湿卫生纸在飓风过后帮助“清理”一样。
-
为什么不想使用 SSL?有用。您尝试做的事情不会。
-
谢谢,但我不想花额外的钱购买 SSL。抱歉,如果我的问题很愚蠢,但是购买 SSL 会加密我的所有数据吗?因为我只想加密解密我的密码,因为这是敏感的所以想到了这种方法。
标签: php javascript forms encryption encoding