1

众所周知,传递 $_POST['foo'] 是 php 上最安全的方法。
即使我们想在没有最终用户通知的情况下传递变量,我们也可以使用<input type='hidden'>
但太糟糕了,即使具有基本知识的用户也可以通过检查元素(chrome)或显示源代码并更改值来注意到这一点。

有没有办法加密或隐藏这个值,所以我可以将这个“秘密”参数传递给操作页面?也许是JavaScript?

4

2 回答 2

5

如果您希望某个值保密,请不要让它离开服务器。只在服务器上存储秘密值,并给客户端一些令牌,让他可以引用该值,而无需实际泄露该值本身。

经典且最常用的示例是会话,其中用户仅接收到无意义的会话 ID,并且与该会话 ID 关联的所有数据都存储在服务器端。

于 2013-07-02T14:22:14.677 回答
1

您可以使用 HTTPS 提交表单,以防止其他人看到流量。

为了防止您的用户看到它,您可以使用 JavaScript 对值进行编码。例如,使用AES 加密或简单的base64 转换。当然,您将需要 PHP 端的相应代码来解码该值。我不确定这是最好的整体方法,因为精明的用户仍然可以阅读您的 JavaScript 并弄清楚发生了什么 - 正如 deceze 所写,提交给客户端的任何值都不再是秘密。

于 2013-07-02T14:23:31.853 回答