我正在为我的网站创建内部API(Node.js + Express)。但我完全不知道如何保护它。
我在我的应用程序中付款,我需要知道用户何时进行付款。我使用XHR请求在服务器和前端之间传输数据。
如果你至少回答我的一些问题,我会很高兴。
答案 0 :(得分:1)
首先,如果您对此不够自信,我建议您不要自己编写代码。存储付款细节是一项重大责任,如果有任何损害,可能会让您陷入法律纠纷。我建议使用像Paypal这样的服务来处理付款。
那就是说,我将回答你的问题:
您不能信任从用户收到的任何信息。时间和地点可以很容易地被欺骗/改变。
是的,可以从控制台进行(修改)请求(可能需要一些附加组件和技术知识,但它是可行的)。无法知道用户的实时时间。只能知道服务器的会话超时,并基于此估计用户相对于服务器时间的时间。也可以知道用户的IP并估计时区,但是使用VPN或Tor,用户改变它是微不足道的。
编辑:与自己编写相比,使用Paypal可以提高安全性。以下是API参考:https://developer.paypal.com/
编辑2:以下简要说明为什么从不信任用户输入:https://www.enisa.europa.eu/publications/info-notes/the-dangers-of-trusting-user-input