开发一个与server客户端(我也写过)的服务器端api。
api是在tomcat服务器上运行的jersey(RESTful)和。它提供的数据作为Json-String传递给客户端,所有通信都通过Http。
执行我现在想确保只有我自己的客户端程序能够访问api(此时,因为它的http,每个人都可以通过普通的浏览器接收json数据)。因此,我正在寻找一种方法,用钥匙或类似的东西“识别”我的客户端程序到api。我首先考虑使用用户代理进行识别,但这很容易被复制。所以我需要某种动态变化的键或类似的东西。
这是一个很好的方法吗?
我在网上搜索但没有找到合适的答案(可能是错误的关键字?),所以我很高兴每个关于该主题的提示和/或链接。
编辑:客户端程序是一个Android应用程序。我想确保没有人创建类似的应用程序,并将我的服务器用于他的目的。
答案 0 :(得分:4)
如果攻击者拥有一个客户端,那么几乎没有任何安全措施最终不会受到损害。
一个好的开始,相当开箱即用的是双向SSL身份验证(客户端和服务器证书)。这是开箱即用的,只需要很少的代码更改。