【发布时间】:2012-05-27 06:15:14
【问题描述】:
我正在使用 jQuery / CodeIgniter 处理登录表单,想知道是否可以这样做:
- 当用户单击
Sign In时,它通过 AJAX 发送请求以获取 值键(使用 CodeIgniter flashdata 设置)。 - 一旦获得密钥,它会使用 SHA256 对密码进行哈希处理,然后使用来自 AJAX 请求的密钥对哈希密码进行编码。
- 之后,它将用户名/编码和哈希密码发送到服务器,然后在服务器上对其进行解码、加盐、重新哈希并与数据库中存储的密码进行核对。
显然,由于 AJAX 请求将与登录请求几乎同时发送,因此在尝试登录用户之前也会对此进行检查。
基本上,我想知道在 JavaScript 和 PHP 中是否有一致的方法来进行基于键的编码/解码,如果有,该怎么做。
【问题讨论】:
-
我曾想过,但我会遇到不知道检查数据库中的值所需的未编码字符串的问题
-
如果您这样做是为了防止有人窃听连接并获取密码,它将无法正常工作。如果他们得到了浏览器的密钥,他们可以使用您自己的 javascript 来查看您的编码方式,然后模仿您所做的任何事情。
-
老实说,它更像是“让它变得更难一点”,这是没有 SSL 时你真正能做的一切。我正在演示不同的方法、优势和劣势,如果我只是说“SSL 是唯一可行的方法”,那就不算什么了!
-
标签: php javascript jquery codeigniter encoding