我开发了一个通过 RESTful API 连接到我的 Web 服务的移动应用程序。
现在,我需要通过 WireShark 嗅探我的 API 来保护我的 API。我只需要以某种方式隐藏我的 URL 和 POSTed 参数...我该怎么做?
我的风险是,如果“某人”获取我的 API 的 Url 并更改每个请求的 ?user_id 参数可能会充当另一个用户,并做坏事......
(我不使用 Oauth 2.0)
第一步是切换到 HTTPS。这将加密您的 POST 参数。
您的第二步是修复您的协议以对用户进行身份验证。总是可以对您的协议进行逆向工程。如果唯一的身份验证是 user_id 参数,那么您很容易受到攻击。再多的混淆也无法保护您。您的协议必须能够抵御未经授权的应用程序的连接。
最简单的方法是使用 HTTPS
客户端连接到服务器
客户端和服务器执行 SSL 握手客户端发送加密的东西,如
POST /resource/ HTTP1.1
Name=Jonathan+Doe&Age=23&Formula=a+%2B+b+%3D%3D+13%25%21