我有一个网站,用户可以用注册码延长他们的产品试用。他们点击电子邮件中的一个链接(在URL中输入一个关键字),转到这个网站,一个灯箱就会出现,上面有他们的注册码。我目前正在用HTML显示注册码,并用CSS隐藏它。一旦我用javascript检查URL是否有正确的密钥,我就会显示注册码。然而,这意味着任何人都可以在页面上查看源代码并复制注册码。有没有一种方法可以加密代码,使其不出现在视图源代码中,然后在URL具有正确密钥的情况下将其解密?它是每个产品一个代码,而不是每个用户,所以我不需要做任何服务器端身份验证。
发布于 2011-06-03 05:07:18
如果计算机知道,用户也知道。
你可以玩混淆游戏,所有这些都会让你的Javascript变得难以阅读。但一个足够坚定的用户无论如何都会找到它,一旦他们找到了,他们就可以很容易地与他们的朋友分享它。
每个用户一个代码是唯一可靠地修复这个问题的方法。
发布于 2011-06-03 05:08:08
我使用javascript检查以确保URL具有正确的键。
不要在客户端检查密钥,而是在服务器端验证密钥。
这是确保只有合法用户才能获得注册码的唯一方法。
伪PHP示例:
if( validateKey($_GET['key']) ) {
echo 'The Registration Code';
} else {
echo 'Error';
}发布于 2011-06-03 05:10:49
客户端代码本质上是不安全的。考虑你发送到客户端机器的任何东西,并且不要信任来自客户端的任何东西,直到你清理它。有足够决心的用户将对您的代码进行反混淆,而不管您在初始混淆例程中投入了多少精力。
https://stackoverflow.com/questions/6220374
复制相似问题