PHP 安全登录 - 客户端选项?

标签 php javascript security authentication codeigniter

好吧,我现在很困惑。我一直从 SO 用户那里得到关于与 codeigniter 一起使用进行身份验证的库的建议。我已经探索了 dx_auth 和 simpleloginsecure (我想我会使用后者,因为它被认为是安全散列且占用空间小)。

但是,在客户端对密码进行哈希处理怎么样?我在图书馆的文档中没有看到任何提及这一点。不管这些库有多安全,是否不需要一些客户端加密(js),以便密码永远不会以纯文本形式发布?或者我是否遗漏了一些东西,而这些库以某种方式确实涵盖了这个...

谢谢

更新:下面的几个答案建议使用 SSL。然而,我的印象是这些 php(codeigniter 插件)库代替了 SSL(我在这里完全错了吗)?如果我弄错了,是否有一种无需 SSL 的安全方法即可实现此目的? (过去我在发布密码之前使用了 javascript md5 哈希函数来加密密码......但我希望有更安全的东西)。

更新 2 好的 - 看来大家一致认为我应该使用 SSL。如果是这样的话,那么那些执行各种哈希的花哨的 php 身份验证库有什么意义呢?如果 SSL 负责从客户端到服务器的加密,那么使用这些库(dx_auth 等......除了可能添加 Angular 色功能之外)还有什么意义?仅仅是为了确保服务器/数据库上数据的安全存储吗? (我会将我正在处理的项目数据的敏感度级别与 stackoverflow 的数据进行比较。没有信用卡或任何过于敏感的内容,只有用户名、密码等)

最佳答案

要加密客户端数据,您需要使用 ssl。

基本上,ssl 在每个 session 开始时向浏览器发送加密 key ,然后对帖子变量等进行加密,并由服务器在另一端再次解密。

JS 加密实际上可能会降低您的系统的安全性,因为它会暴露您的哈希算法。

更新:

对密码进行哈希处理并不能防止密码在客户端和服务器之间被窥探,而是意味着如果有人入侵您的网站或以任何方式获取对您数据库的访问权限,则所有密码都无法以纯文本形式查看。这一点尤其重要,因为许多人在多个网站上使用相同的密码。

关于PHP 安全登录 - 客户端选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1168983/

相关文章:

php - 使用 DKIM 对通过 SMTP 发送的邮件进行签名

php - mysql:从两个表中获取数据取决于第一个表的id和json中的结果

php - 如何区分可读的 UTF-8 字符串和二进制乱码?

javascript - D3 文本 anchor 不会附加

mysql - 与使用完整的 MySQL 相比,使用独立的 SQL 文件是否有风险?

java - MySQL.users 表作为应用程序身份验证

php - 使用 pdo 时数据未插入数据库

javascript - Jquery 获取 A 标签的closest() Iframe 返回未定义

javascript - A型框架运动机身相机高度问题

PHP MySQLI 防止 SQL 注入(inject)