繁体   English   中英

客户端将数据发送到Web服务器,服务器如何验证客户端是真实的?

[英]Client sending data to web server, how can the server verify the client is genuine?

我正在编写一个将json数据发送到django Web服务器的ac#程序。 客户端发送的数据准确是非常重要的。 我担心的是,如果有人知道url和数据格式(如果他们正在监视自己的网络流量,则可以看到此信息),他们可以构造自己的应用程序,将错误的数据发送到Web服务器。 同样,我自己的客户端可执行文件是否有可能被解包和修改?

服务器如何检查数据以验证发送数据的客户端是真实的且未修改?

您应该使用公钥加密
实际上,它的工作方式如下:

  1. 客户端生成随机对称加密密钥
  2. 客户端使用步骤1中创建的密钥对消息进行加密
  3. 客户端使用来自服务器的公共密钥加密对称密钥
  4. 客户端将加密的消息和加密的密钥发送到服务器
  5. 服务器现在可以使用其私钥解密对称密钥,然后服务器使用解密后的密钥解密消息

我希望您了解它是如何工作的。 如果没有,请在互联网上搜索。 您会发现很多有关它的信息

我想说的是,如果您对端点使用https,那么在客户端和端点之间篡改数据(因为数据已加密)是相当安全的。

另一方面,您的客户可能会被拆包。 我建议您进行身份验证,并构建您的端点,以便他们只能访问自己的数据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM