如何加密表单数据?

时间:2012-09-06 00:30:10

标签: php html forms encryption passwords

我有一个登录表单,它会将一个id和密码提交给一个php文件,然后根据SQL数据库中的数据检查该id和pw。如何加密传出的表单数据,以确保没有人能够看到它直到它到达目的地? 登录表单代码是

<html>
<head>
<title>
Login page
</title>
</head>
<body>
<form name="login" action="fetchalldata.php" method="post">
Username : <input type="text" name="userid"/>
Password : <input type="password" name="pswrd"/>
<input type="button" name="submit" value="Login"/>
</body>
</html>

会在数据库上预先设置密码 发送散列密码会更有效吗?

2 个答案:

答案 0 :(得分:9)

SSL 答案。唯一的答案。

但是,如果你必须尝试使用​​家庭酿造解决方案,这里有一个想法:

  • 让PHP代码提供带有当前时间戳的Javascript。
  • 您获取用户输入的密码,附上时间戳,然后加密。
  • 使用时间戳将加密密码传回服务器。
  • 让服务器确保返回的数据是最近的,让它根据自己的数学检查加密的密码。
  • 如果时间戳太旧或已用于登录拒绝它。

这仍然是一个糟糕的想法,但它并不像发送纯文本密码那样糟糕。

使用SSL。真。

答案 1 :(得分:2)

使用安全SSL连接是确保表单数据加密的唯一真正方法。但是,在发送之前,您可以使用一些JavaScript以某种方式对密码进行编码。它不会提供太多安全性(因为任何可以查看您网站的人都可以看到JavaScript并对其进行反向工程),但它至少可以避免发送纯文本密码。