服务器如何知道https是否被篡改了

用户发送https给服务器,中途被拦截并修改后再发送给服务器,服务器怎么知道这个https报文是不是原来用户想要发送的那个?

https有公钥跟私钥加密的,只要你没有私钥,是无法对被公钥加密的信息进行解密读取并和篡改。就算不解密直接改,服务器对你改过的信息进行解密,得到是乱码,会被当成垃圾包舍弃

我觉得那不好说,只能是加验证了,如果后台根据前台参数验证失败,那就是被篡改了

发现不了的,本身https基础的SSL 证书的信用链体系并不安全。特别是在某些国家可以控制 CA 根证书的情况下,中间人攻击一样可行。

只要中间人能在服务器和客户端真正建立起相互信任前介入,让客户端所有的通信数据都通过其代理,则从服务器端看,它就是和正常的客户端在通信。同样客户端也认为其在同正常的服务器通信。

如楼上所说,单纯的HTTPS无法保证,只能在HTTPS之上再加一层私有认证协议。