как запретить нативным клиентам доступ к нашему API

У нас есть PHP REST API и клиент angularjs.

У нас нет и не будет собственных клиентов, только браузер.

злоумышленник создал фальшивый веб-сайт с фальшивыми аккаунтами, осуществляя все платежи, и мы стремимся предотвратить это.

Теперь мы нашли способ запретить доступ сервера веб-сайта к нашему API, и браузер не может сделать междоменный запрос, но ничто не мешает злоумышленнику создать настольное приложение, которое обращается к нашему API.

Как определить, что клиент является браузером, а не нативным клиентом?

PS

Я знаю, что браузеры могут быть встроены в настольные приложения, и пока я в порядке с этим, просто не чистый нативный клиент.

1

Решение

Единственный способ достичь этого результата — это challenge-response Механизм с Javascript, так что «родной клиент» должен был бы проанализировать и оценить результат, что трудно без встраивания браузера или движка Javascript V8.

Просто напечатайте в JavaScript токен PHP, и тогда JS придется выполнять криптографические вычисления. Чем больше полиморфно, тем сложнее реализовать автоматизированного бота без встроенного браузера.

Однако вы не можете остановить нативное приложение с помощью интерпретатора JavaScript, такого как движок V8, от Google (который имеет большой размер, но очень быстрый).

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]