首页 > 解决方案 > 客户端 API 安全性

问题描述

我在我的网站上实现了 Olark实时聊天,我所要做的就是实现以下 js 代码。

  <script type="text/javascript" async>
      ;(function(o,l,a,r,k,y){if(o.olark)return;
      r="script";y=l.createElement(r);r=l.getElementsByTagName(r)[0];
      y.async=1;y.src="//"+a;r.parentNode.insertBefore(y,r);
      y=o.olark=function(){k.s.push(arguments);k.t.push(+new Date)};
      y.extend=function(i,j){y("extend",i,j)};
      y.identify=function(i){y("identify",k.i=i)};
      y.configure=function(i,j){y("configure",i,j);k.c[i]=j};
      k=y._={s:[],t:[+new Date],c:{},l:a};
      })(window,document,"static.olark.com/jsclient/loader.js");

      /* Add configuration calls below this comment */
      olark.identify('XXXX-XXX-XX-XXXX');
  </script>

我想知道什么技术使用第三方 JavaScript 插件,如OlarkDisqus和类似公司?

如您所见, olark.identify()在我的网页上是公开的,您可以通过“检查元素”找到它。那么他们如何处理安全性并退回不需要的请求呢?

  olark.identify('XXXX-XXX-XX-XXXX');

标签: javascriptrestapisecurityrest-security

解决方案


这是一个相当广泛的问题,但我会尝试回答:

许多这些工具并没有真正阻止不需要的请求。例如,可以在完全不相关的网站上嵌入 disqus 评论块。

我不认为这是最糟糕的事情,因为:评论出现在其他地方有什么问题?一开始就已经是公开信息了。

需要准确防止它们嵌入哪个域的脚本倾向于使用 CORS 和Origin标头来确保这一点。或者,他们可以使用来自 的信息document.location

从某种意义上说,这不是“硬”安全性,它完全禁止滥用,但它使用浏览器沙箱使其更难被滥用。


推荐阅读