Безопасность на стороне клиента API - PullRequest
0 голосов
/ 04 декабря 2018

Я внедрял Оларк живой чат на моем сайте, и все, что мне нужно было сделать, это реализовать следующий код 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 плагин как Оларк , Disqus и подобные компании?

Как видите, olark.identify () является общедоступным на моей веб-странице, и вы можете найти его с помощью "inspect element".Итак, как они обрабатывают безопасность и отклоняют нежелательные запросы?

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

1 Ответ

0 голосов
/ 04 декабря 2018

Это довольно широкий вопрос, но я попытаюсь ответить:

Многие из этих инструментов на самом деле не блокируют нежелательные запросы.Например, можно встроить блок комментариев disqus на совершенно не связанный сайт.

Я не думаю, что это хуже всего, потому что: в чем проблема с комментариями, появляющимися где-то еще?Начнем с того, что это уже общедоступная информация.

Сценарии, которым необходимо точно указать, в какой домен они встроены, обычно используют CORS и заголовок Origin, чтобы убедиться в этом.В качестве альтернативы, они могут использовать информацию из document.location.

Это не «жесткая» защита в том смысле, что она полностью исключает неправильное использование, но она использует «песочницу» браузера, чтобы усложнить ее использование..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...