php - 在数据到达服务器之前加密数据

标签 php javascript security browser encryption

假设我有一个 PHP 应用程序,并希望在用户数据到达服务器之前对其进行加密(以向用户证明他们的数据不会被数据挖掘或转售用于广告)。

此处提出了类似的问题 (Secure Javascript encryption library?),暗示这不会奏效,但随着 monsgt 用户对隐私兴趣的增加,这一要求只会随着时间的推移而变得更大。

例如,使用斯坦福图书馆 (http://crypto.stanford.edu/sjcl/),网络表单有一个额外的“长”密码字段,用户可以将其粘贴(例如可能来自电子邮件)

  sjcl.encrypt(txtPassword, txtFormFieldToBeEncrypted)

加密后的数据被发送到PHP页面,当页面加载时这个过程是相反的。

如果用户使用 Chrome 或其他可记住表单值的浏览器,这是否可行 - 显然这不是一个安全的结果,但这是否足以使用户信息不被主机服务器看到?

编辑:明确一点,我只对使主机服务器不可见信息感兴趣,并且了解此解决方案无法防止第 3 方攻击

最佳答案

页面上的保护是无用的,因为加密 key /机制也将在页面范围内,因此可能被恶意方篡改(或在检查页面时被用户自己篡改) .

为了避免数据在未加密的情况下通过线路,也没有理由“滚动你自己的”(tm),因为为此有 SSL。

如果您想确保您在服务器上收到的数据实际上来自您控制的页面,您可以依靠 CSRF 保护。

关于php - 在数据到达服务器之前加密数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17297795/

相关文章:

php - 将 HTML 保存到数据库/SQL 中

javascript - 如何使 window.innerHeight 在移动设备上缩放时起作用?

javascript - FullCalendar 2.1.1 不显示事件

windows - Windows 批处理文件末尾的简单插入符 (^) 占用所有内存

security - 需要帮助将 P12 证书转换为 JKS

security - 关于虚拟内存

php - 如何通过Mysql外推数据并放入数组?

php - 在不刷新 PHP 页面的情况下提醒用户

PHP 简化一个三元运算

javascript - 如何获得这个的选定值?