代码之家  ›  专栏  ›  技术社区  ›  Ammi J Embry

收集信用卡信息-不收取付款

  •  10
  • Ammi J Embry  · 技术社区  · 15 年前

    我正在使用MySQL的Linux服务器上使用PHP。

    我有一个要求(我试图说服他们退出)收集用户的信用卡信息,以便我们公司可以使用卡号举行会议的酒店房间。我们根本不会自己给卡充值,而是直接把卡送到酒店。然后我需要能够下载一个CSV文件,每次有人注册一封电子邮件去与所有的信息管理员。

    我试图解释这是不安全的,但是在我在这里工作之前,其他几个开发人员已经为他们做了这件事。

    我的问题是,到底有没有办法确保这一点?如果没有,是否有任何第三方的选择来实现这一点?


    我很感激到目前为止所有发帖的人,这只是让我想尝试做的越来越少。如果你能补充你的答案简单的解释,面向非技术人员,这将是非常感谢,事实上,网站的来源和链接将帮助我很大。我还没有找到任何网站可以用非科技的方式来解释这一点。

    8 回复  |  直到 15 年前
        1
  •  7
  •   Community Mohan Dere    9 年前

    存储卡的详细信息真是个坏主意。你正以PCI-DSS审计的形式为自己打开一个痛苦的世界。它不像“使用加密”那么简单,您需要有适当的流程来安全地管理加密密钥、安排密钥轮换、安全地登录访问等等。。。存储卡的详细信息绝对是你想要避免的事情。

    如果你 如果你想做点什么,那么最好的选择是你(作为一家公司)从信用卡中提取款项到你自己的商户账户,然后分别向酒店付款(从你的银行账户/任何账户)。你代理客户向酒店付款。

    大多数支付网关允许您安全地存储卡的详细信息,并在稍后的日期(使用网关返回的令牌id)收费,这在这里可能很有用。但您将无法检索卡的详细信息,以任何方式传递给酒店,这就是为什么您需要接受付款,然后组织一个单独的付款给酒店。

    这仍然是一个相当大的事业,因为许多领域的PCI-DSS将发挥作用,即使这个简化的解决方案。

    你问了,这里有更多信息:

    Payment Card Industry Data Security Standard.

    首先看一下PCI-DSS SAQ (Self Assessment Questionnaires) . 这些SAQ是以下公司的最低要求: 不存储 将持卡人的详细信息存储到磁盘,并应给人一个良好的印象,即需要在整个网络中实施的安全措施以及应该在整个公司中应用的策略。

    audit procedures 详细了解所涉及的内容。特别是看看第3节,不要低估 implementing proper key management

    总之,完全符合PCI标准将是非常昂贵的。即使对于一家 已经

        2
  •  9
  •   Jan    15 年前

    首先,我不是律师。我已经实施CC处理代码多次以前,但我只熟悉丹麦的法律和法规,所以您的里程数可能会有所不同。

    据我所知,有一些限制(法律和法规从抄送供应商),你需要知道。我不知道你在世界上的什么地方,但在许多国家,你需要PCI认证来处理信用卡数据,这是一个极其繁重、昂贵和持续的过程。

    总的来说,我建议不要这样做。如果出了问题,你可能要承担任何费用。

        3
  •  7
  •   Alex Howansky    15 年前

    这是非常不安全的,我认为你反对它是正确的。上面说。。。

    一些想法:

    • 酒店能给你一个价格/组码,你可以直接向你的用户发布吗?也许你甚至可以给他们一个链接,直接进入酒店的预订页面,代码已经填好了。

    • 除非您可以在启用SSL的站点上实现,否则甚至不要考虑实现它。

    • 不要把抄送号码保存在任何地方, 只需生成电子邮件并抛出 数一数。这使您不必担心大量非常困难的应用程序/服务器安全问题。

    • 相当于这样它在 只能由指定收件人读取。

        4
  •  4
  •   Saif Khan    15 年前

    我建议您至少密切关注卡行业PCI合规性。 Here

        5
  •  2
  •   Woot4Moo    15 年前

    作为一个在这样一个系统上工作过的人,用纯文本存储任何信用卡信息是100%非法的。您必须加密所有数据,并且不允许您知道任何密钥。这完全是第二十二条军规,验证数据的唯一方法就是像听起来那样悲伤地猜测。这就是意外收费发生的确切原因。

        6
  •  2
  •   jeff_kompanee    15 年前

    正如其他人在这里所说,存储信用卡信息需要经过认证,这是一个事实。您可以请求信息来处理事务,但将其保存在任何类型的存储中都是一个很大的禁忌。

    幸运的是像这样的网站授权.net, braintree.com网站, 贝宝网,etc将允许您与它们的api进行交互,这样您就可以为要为其进行事务处理的每个实体获得一个“Customer Vault ID”。

    这些第三方以100%合法的方式存储所有敏感信息。无论何时,只要您想使用他们保存的信息进行事务处理,您就可以使用他们的“Vault ID”与服务进行交互。

    我用过授权.net、BrainTree和PayPal。最近,它是BrainTree,并与他们有一些很好的成功。我不会推荐贝宝,除非你需要的品牌识别或你只是想做一个直接转让,你绕过要求他们的帐户信息的任何种类(因为他们已经进入贝宝)。

        7
  •  1
  •   mkoistinen    15 年前
    1. 确保您的服务器尽可能安全 证明它还没有被破坏 . 如果你有一个受损的服务器,这些都不会很好的工作。

    2. 在运输过程中 .

    3. 休息 . 如果可能的话,使用一个公钥对它进行加密,其中私钥(用于解密)是

    这本身并不是一种认可,但我以前在类似情况下使用过,效果很好: http://www.pgp.com/products/commandline/

        8
  •  1
  •   Soravux    15 年前

    如果您通过电子邮件发送文件,请确保在发送和接收计算机上使用安全连接(HTTPS/IMAP或POP3 over SSL、SMTP over SSL),并在发送之前对文件进行加密。你也可以通过OpenPGP加密你的邮件和附件。另外,确保两个邮件服务器(发送和接收)之间的安全性,或者简单地使用同一个域来发送和接收电子邮件地址。不要使用ZIP文件或相关压缩容器的密码功能,因为它们通常在加密方面较弱。

    确保下载和上传的计算机安全(下载/上传的加密分区,系统上没有间谍软件,密码系统,防火墙)。