API安全性:用户的实际日期

时间:2018-03-08 08:39:40

标签: api date security xmlhttprequest

情况:

我正在为我的网站创建内部API(Node.js + Express)。但我完全不知道如何保护它。
我在我的应用程序中付款,我需要知道用户何时进行付款。我使用XHR请求在服务器和前端之间传输数据。

问题:

  1. 将用户的时间转移到服务器是否安全(我可以信任这些信息吗?)。如果不是,我怎样才能安全地获得它?我考虑过转移用户的位置,然后在mement.js的帮助下得到他的时间,但如果黑客可以用他的数据替换它也不安全。
  2. 黑客可以从开发人员的控制台向我的服务器发出XHR请求吗?如果是的话,我怎样才能得到他的实时时间?
  3. 如果你至少回答我的一些问题,我会很高兴。

1 个答案:

答案 0 :(得分:1)

首先,如果您对此不够自信,我建议您不要自己编写代码。存储付款细节是一项重大责任,如果有任何损害,可能会让您陷入法律纠纷。我建议使用像Paypal这样的服务来处理付款。

那就是说,我将回答你的问题:

  1. 您不能信任从用户收到的任何信息。时间和地点可以很容易地被欺骗/改变。

  2. 是的,可以从控制台进行(修改)请求(可能需要一些附加组件和技术知识,但它是可行的)。无法知道用户的实时时间。只能知道服务器的会话超时,并基于此估计用户相对于服务器时间的时间。也可以知道用户的IP并估计时区,但是使用VPN或Tor,用户改变它是微不足道的。

  3. 编辑:与自己编写相比,使用Paypal可以提高安全性。以下是API参考:https://developer.paypal.com/

    编辑2:以下简要说明为什么从不信任用户输入:https://www.enisa.europa.eu/publications/info-notes/the-dangers-of-trusting-user-input