jQuery小部件加密初始化变量

jQuery小部件加密初始化变量,jquery,widget,secure-coding,Jquery,Widget,Secure Coding,很长一段时间以来,我一直在寻找一个关于这个问题的好答案,但是我找不到任何解决问题的好方法 因此,我想创建一个jQuery小部件,它可以在客户网站上实现。但是,这个小部件必须通过一个APIKey进行初始化,我希望这个APIKey对不访问客户页面的客户保密 因此,我想到了加密,它必须出现在大多数主要的脚本语言上,如PHP、Perl等。。。否则,可以提取APIKey,但也可以复制加密字符串。除此之外,我也一直在考虑建立一个握手,但是对于这个握手,我还需要APIKey来授权握手 这是一个问题,由于小部件

很长一段时间以来,我一直在寻找一个关于这个问题的好答案,但是我找不到任何解决问题的好方法

因此,我想创建一个jQuery小部件,它可以在客户网站上实现。但是,这个小部件必须通过一个APIKey进行初始化,我希望这个APIKey对不访问客户页面的客户保密

因此,我想到了加密,它必须出现在大多数主要的脚本语言上,如PHP、Perl等。。。否则,可以提取APIKey,但也可以复制加密字符串。除此之外,我也一直在考虑建立一个握手,但是对于这个握手,我还需要APIKey来授权握手

这是一个问题,由于小部件将显示的内容的事实

因此,我的问题是: 你们有什么好主意或解决方案给我,这样我就可以在客户网站的securly上实现我的小部件,从而使用一个APIKey,它可以从客户网站的访问者那里安全访问?


提前感谢。

请阅读本教程,分享您创建的可在外部客户网站上使用的小部件

数据库中的每个客户都应该有一个唯一的标识符。他们还需要为您提供部署小部件的域名

当您的脚本/html模板加载到客户站点时(按照上面的教程),您将客户域和唯一标识符传递到您的站点进行验证。如果有效(客户标识符有效,域名与站点的起始位置匹配),则在脚本中设置一个变量,开始下载脚本和html模板,以加载小部件


很多聊天网站都使用这种技术,我也使用过这种技术。我对我的个人网站使用相同的过程…在远程网站上查看客户点击数据。我在他们页面上的脚本可以启动一个覆盖来显示一个仪表板,在那里我可以与页面上的html元素交互,并覆盖从远程服务器提取的热图结果。希望这能有所帮助。

我已经部署了这种方法,但是对于可以通过操纵referer来伪造域名的黑客来说,标识符是可见的。那么,这足够安全吗?我考虑过握手,但这需要另一个带有不可见标识符的请求,该标识符返回一个一次性初始化代码,您可以使用该代码初始化小部件。它安全吗?谷歌使用同样的技术来验证你是否拥有这个网站(搜索html标签验证)。如果您的客户可以将您的脚本和密钥放在该页面上,则他们可以控制该页面/域。当脚本从页面中获取密钥和域并将其与数据库中的内容进行比较时,它们就可以继续/授权了。黑客可以在重定向的网页上安装您的脚本,但该域和密钥不匹配…您会向黑客显示错误消息。希望这会有所帮助。实际上,当黑客以域名为引用者并使用所需密钥发出curl请求时,它会授予访问权限,对吗?而不是来自域本身?我怎样才能克服这个“黑客”呢?您的jquery代码运行在DocumentReady中。就绪时的url将不是存储在您网站上的域名,因此黑客攻击失败。Rob,我理解这一部分。然而,当我发出一个独立的curl请求时,我可以发布期望值并获得正确的访问。。。我需要一些东西来识别正确的用户,这些用户无法通过独立的curl请求访问。你明白我什么意思吗?我现在不在这一边。