我们如何获得第三名

我正在构建第三方小部件

我们在客户端页面上放置一个脚本并加载一些内容。

我面临的问题是如何保护我的小部件。 作为第三方小部件,我知道没有100%的方法来保护它。 但试图找出一个“足够好”的方法。

我想让一个非客户很难将我们的脚本从他们的竞争对手的网站上撕下来并用在他们的脚本上。

我看到的解决方案是验证请求域(我知道这可能是欺骗性的,不知道我是否可以防范这一点)?

我看了一下其他的小工具,例如olark和olapic,它们在脚本中使用每个客户端的唯一标识,但是看不到这是多么有帮助。

保护第三方小部件的最佳做法是什么?


确保租户的客户访问

保护租客的第三方客户端访问您的Javascript会带来一系列独特的挑战。 这个解决方案的大部分困难源于认证机制必须存在于租户Web内容中,并从其客户端浏览器交付。 标准客户端<>服务器身份验证机制(如会话,Cookie,自定义标头,引用链接和IP地址限制)由于事务的扩展性质而不适用。

Bill Patrianakos的这篇文章通过使用动态密钥请求为租户的客户端提供访问令牌提供了一个解决方案。

Patrianakos提供了一些有关第三方租户关系的良好信息,并在他的文章中讨论了该模型的一些局限性。

保护Javascript代码

在Javascript中保护你的代码是很困难的,因为代码是由客户端浏览器在运行时解释的。 但是,通过使用Google Closure编译器可能会混淆Javascript。 编译器的高级优化功能提供了低级参考重命名功能,并且还提供了更加紧凑的代码,用于交付widget。

要使用高级优化来编译您的Javascript,请使用以下命令行:

java -jar compiler.jar --compilation_level ADVANCED_OPTIMIZATIONS 
  --js myWidget.js --js_output_file myWidget.min.js

有一些重要的警告。 本文将介绍在代码中要避免的一些事情,以确保代码正常运行。 我也会推荐一个很好的qunit测试框架来确保你的小部件能够正常运行。


为了保护小部件,如果你想防止伪造的请求,那么你需要打开一个弹出窗口并从你的服务器上打开一个完全在你的控制之下的页面,并确认任何动作,比如'发布推文'。

请参阅此问题的答案以获得更多更广泛的讨论。

为了防止你的Javascript被盗,缩小是不够的 - 最好使用混淆器。 看看例子[JScramble],这是关于它如何工作的介绍。

链接地址: http://www.djcxy.com/p/15271.html

上一篇: How can we secure a third

下一篇: Hex transparency in colors