我希望保护我的Firefox扩展程序的代码,因为它有服务器调用,如果有人可以在扩展程序之外进行安装,则不存在安全风险。有关如何加密它的任何建议吗?
答案 0 :(得分:6)
这基本上是不可能的。您想要将可执行代码提供给其中包含“秘密”调用的不受信任的客户端,但是不要让客户端知道这些秘密吗?那么,如何执行代码?
在某些时候,它必须被解密。这意味着客户端拥有执行解密所需的一切,这意味着用户可以执行此操作,并构建扩展的恶意版本。
您唯一的选择是重新设计,以免公开暴露易受攻击的服务。
答案 1 :(得分:1)
如果它将在客户端执行,没有可靠的秘密,那么基本上你肯定有一个安全漏洞。
如果不了解更多关于您的扩展程序的话,很难提出解决方法。一个明显的建议是请求用户名/密码,通过服务器进行身份验证(通过HTTPS)并接收时间限制令牌,然后使用“狡猾”请求呈现该令牌。这不会阻止任何人使用正确的用户名和密码...
答案 2 :(得分:0)
您可以使用xauth,它是OAuth的一种变体,旨在解决此类问题。 Twitter使用xauth:http://dev.twitter.com/pages/xauth
此外,您可以对您的Javascript代码进行模糊处理,甚至可以将其写入C(作为NPAPI插件)。