【发布时间】:2011-09-22 05:22:21
【问题描述】:
理想情况下,我希望加密变量,因此无法弄清楚它们,但是鉴于客户端将通过 javascript 发送变量并且如果他们看到代码可以解密任何内容,我正在寻找替代方案。
我正在考虑使用返回类似于 md5 或 sha1 的 HEX 的东西,但要进行加密,然后如何将服务器时间或日期合并到变量中,以便加密仅在 1-2 分钟内有效。
javascript 将具有一个混淆/最小化函数,该函数将根据 javascript 及时加密,然后将其发布到 php。只要服务器的日期/时间在 X 分钟以内,它就会正确解密。
我想向它发送看似随机的数据,然后取回看似随机的数据。我不希望它是相同的数据。
这是最好的方法吗?我只是想阻止那些试图使用 HTTP 嗅探器的人。我知道一旦他们获得了 javascript 源代码,只要有足够的时间/了解正在发生的事情,没有什么能阻止它。
如果您要发布实际代码,请记住该功能/能力应该同时存在于 javascript 和 PHP5 (
编辑:SSL/HTTPS 是不可能的。
【问题讨论】:
-
你想用这种加密方式达到什么目的?你想保护什么?
-
我正在发送用户 ID、版本号。我试图阻止用户忽略所需的更新或将他们的用户 ID 编辑为其他人的。
-
使用 SSL。讨论完毕。它将开箱即用地加密所有内容,您的代码只需使用“https”网址而不是“http”。其他的都是没有意义的。
-
我会推荐 SSL,并在变量上附加某种校验和。这样就可以了。
-
无论如何,除了 HTTPS 之外什么都不会是安全的,所以你还是放弃吧。如果信息的价值足以保护,那么它就足以投资于克服任何薄弱的安全方案。 (如果您能解释一下为什么 HTTPS“不可能”,这可能会有所帮助,因为它是一个强大、可靠的成熟标准,可供所有人免费使用。)
标签: php javascript encryption