首先,我有一个SSL证书,但当使用ajax进行后期请求时,可以使用一些工具来处理数据。有什么方法可以使用私钥和公钥来加密我的数据吗。我知道我们必须在客户端使用公钥,服务器将使用私钥进行解密,但不知道如何使用它们。在服务器端,我有PHP&我使用AJAX发送POST请求,并且并没有数据库,我只想确保数据在客户端和服务器之间移动的安全。提前感谢!!
定义确切的威胁以减轻威胁非常重要。
一个典型的威胁是中间人(第三方(捕获、读取或修改应用程序流量。TLS(https(可以缓解这种情况,除了总是使用https进行通信之外,您通常不需要任何更多的保护。
不过,我想你想到的是一个合法用户修改自己的请求和响应。你需要承认的是,这将永远是可能和容易的。用户可以从任何客户端向您的应用程序发送任何请求,这与您自己未经修改的客户端发出的请求无法区分。http就是这样工作的。此外,无论您在客户端中放入什么(例如密钥(,用户都可以使用,并且可以在另一个客户端中使用。你无法安全地阻止任何数据的反编译和提取(看看软件盗版仍然是一件事(。你也不能阻止用户通过他自己信任的工具代理流量来观察和修改它
您可以而且必须在服务器端实现安全功能。始终对请求进行身份验证和授权,从不信任来自客户端的任何内容。对于一个简单的答案来说,如何真正实现这一点太宽泛了。