Javascript 如何防止从React JS传递到Express Server的数据被参数篡改?

Javascript 如何防止从React JS传递到Express Server的数据被参数篡改?,javascript,node.js,reactjs,express,axios,Javascript,Node.js,Reactjs,Express,Axios,我有一个应用程序,它的后端是Express,前端是React 我正在尝试使用axios将POST请求数据从React JS传递到我的Express应用程序。 请求数据都基于我在React中创建的表单中的用户输入。 (示例字段包括:“contactNo”、“amountToDonate”等) 当Express从React收到数据时,Express将向另一个第三方应用程序发出另一个axios POST请求 如何确保我的应用程序不受参数篡改的影响 我观看了一个关于web参数篡改的视频,他展示了他可以修

我有一个应用程序,它的后端是Express,前端是React

我正在尝试使用axios将POST请求数据从React JS传递到我的Express应用程序。 请求数据都基于我在React中创建的表单中的用户输入。 (示例字段包括:“contactNo”、“amountToDonate”等)

当Express从React收到数据时,Express将向另一个第三方应用程序发出另一个axios POST请求

如何确保我的应用程序不受参数篡改的影响

我观看了一个关于web参数篡改的视频,他展示了他可以修改来自客户端的请求数据以发送到服务器。我不希望这种情况发生,尤其是当所有用户输入数据都是某种敏感信息时

我尝试安装Burp Suite应用程序(如视频中所示),并尝试更改请求中的所有数据,但它们仍然成功发送到Express,甚至从第三方服务器获得了成功响应


我已经在代码中添加了类型检查。但是,当原始值和修改后的值属于同一类型时,即相同的整数将amountToDonate值从500修改为10,我不确定如何对此进行验证。我卡住了。

您使用SSL。如果数据真的很重要,请使用客户端证书。您可以通过使用SSL防止其他用户篡改或使用某种中间人攻击。但是,您无法阻止访问您站点的技术娴熟的用户篡改他/她发送到您服务器的数据。解决方案是从不信任从用户收到的数据,始终将其视为可能的恶意数据,并在服务器端执行验证。当与第三方支付提供商(如paypal)集成以处理捐赠时,请阅读他们的安全指南以执行验证。您的意思是我应该使用某种OpenSSL算法在React中加密我的请求数据,然后在我的Express app中解密吗?您使用SSL。如果数据真的很重要,请使用客户端证书。您可以通过使用SSL防止其他用户篡改或使用某种中间人攻击。但是,您无法阻止访问您站点的技术娴熟的用户篡改他/她发送到您服务器的数据。解决方案是从不信任从用户收到的数据,始终将其视为可能的恶意数据,并在服务器端执行验证。当与第三方支付提供商(如paypal)集成以处理捐赠时,请阅读他们的安全指南以执行验证。您的意思是我应该使用某种OpenSSL算法在React中加密请求数据,然后在我的Express应用程序中解密吗?