两系统通过http通讯,如何授权

W_wjl1900 2016-05-10 10:37:33
以前很少考虑安全问题,现在我做一个服务端,公布webapi接口,我想知道如何给调用我系统的系统授权,我目前只使用了ip过滤,我想知道通过协商的用户名和密码怎么验证权限,总感觉把用户名和密码放到http 请求头不安全,通过抓包很容易伪造请求,请大家指教下,最近这块很迷糊
...全文
156 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
W_wjl1900 2016-05-11
  • 打赏
  • 举报
回复
非常感谢,有点懂了
  • 打赏
  • 举报
回复
这个方式是验证“对方确实是对方”,而不是去处理什么用户名、密码。 对于用户名、密码的传送,通常可以使用 RSA 非对称加密法。也就是你这边公开一个“公钥”给所有人,然后有人要发现信息给你时就是用这个公钥加密即可。而只有你拥有私钥,可以解密。 这样,假设对方每隔10分钟就跟你修改新的 DES 加密密码,它可以用 RSA 加密了方式发送这个消息。然后其它消息就可以通过 DES 方式发送了。
  • 打赏
  • 举报
回复
首先,你可以验证对方的 外网 IP 是不是在白名单中。 其次,你可以要求对方预先跟你约定一个 key,然后要求对方将传来的内容加上这个 key之后的内容,再计算各md5值作为签名。儿你这边验证这个签名,如果匹配说明是对方发来的,如果不匹配说明是有人冒充的。这个key 可以通过各种方式传递(或者注册),举例例如可以通过发ems快递的方式发送(而不是通过互联网)。

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧