代码之家  ›  专栏  ›  技术社区  ›  Tower

使用JavaScript实现支付系统是不是不好?

  •  3
  • Tower  · 技术社区  · 15 年前

    我想知道在客户端使用JavaScript和服务器端使用PHP实现合法支付系统是不是一个坏主意?我主要担心的是IEEE浮点和过于松散的语言。

    3 回复  |  直到 15 年前
        1
  •  6
  •   Michael Borgwardt    15 年前

    主要的问题是Javascript,它甚至没有真正的整数类型,更不用说(官方的)正确的十进制库(PHP BC Math ). 有一个 old third-party port of Java's BigDecimal to Javascript 你可以在客户端使用。另一种方法是,以美分为单位计算所有数据,因为IEEE双精度数可以精确地表示长度高达53位的整数,这足以使美国的主权债务至少再维持10年( 可能 ).

        2
  •  3
  •   Daniel Bingham    15 年前

    我认为这取决于你如何实施它。Javascript在客户端运行,因此不安全。不能相信。另外,这意味着你的系统将不适用于那些关闭Javascript或使用旧浏览器的人。

    只要你记住这一点,使用PhP来处理安全的东西,检查来自Javascript的所有东西,并愿意失去那些没有Javascript的人,那么我认为这没有问题。

    但是做这些比你想象的要难,所以要小心。

        3
  •  1
  •   Keith Gaddis    15 年前

    正如其他人所指出的,真正的问题是你不能信任客户。永远。不应该在客户端进行计算,也不应该使用来自客户端的数据(如价格)。除此之外,我永远不会使用浮动来表示货币金额。货币应始终表示为整数,其中1表示基本货币单位的单个单位(例如美分)。这会使事情稍微复杂一点,但是帮你自己一个忙,创建一些简单的访问函数,你的生活会更轻松。