【问题标题】:If the website owner steals the payment gateway information then is it safe to use a payment gateway?如果网站所有者窃取了支付网关信息,那么使用支付网关是否安全?
【发布时间】:2012-05-28 21:15:02
【问题描述】:

我正在集成支付网关;这是我第一次将支付网关功能集成到我的系统中,我使用 Authorised.Net 作为支付网关。

由于我已经成功集成它,但我看到用户必须输入以下值才能购买他的商品,并返回交易 ID。

    //post_values.Add("x_card_num", "4111111111111111");
    //post_values.Add("x_card_num", CreditCard);
    //post_values.Add("x_exp_date", "0115");
    ////post_values.Add("x_amount", "19.99");
    ////post_values.Add("x_amount", );
    ////post_values.Add("x_description", "Sample Transaction");
    //post_values.Add("x_amount", txtAmout.Text);

    //post_values.Add("x_description", txtDesc.Text);

    ////post_values.Add("x_first_name", "John");
    ////post_values.Add("x_last_name", "Doe");
    ////post_values.Add("x_address", "1234 Street");
    ////post_values.Add("x_state", "WA");
    ////post_values.Add("x_zip", "98004");
    //post_values.Add("x_first_name", txtFName.Text);
    //post_values.Add("x_last_name", txtFName.Text);
    //post_values.Add("x_address", txtAddr.Text);
    //post_values.Add("x_state", txtState.Text);
    //post_values.Add("x_zip", txtZip.Text);

这些值只是固定他的交易和购买项目,所以我的困惑是,如果网站所有者将所有这些信息放入他的数据库并使用他的详细信息进行更多交易,那会怎样?是安全可靠,还是发生了其他我想不通的事情?

【问题讨论】:

  • 我不太明白你的问题。您是在询问网站所有者将来在客户不知情的情况下使用这些信息,还是在询问存储信息以供未来交易使用?
  • 我在问它有多安全,如果网站所有者将他的卡详细信息保存到数据库并使用他的详细信息购买商品,那么 /;

标签: asp.net authorize.net


【解决方案1】:

以下是一些需要遵循的基本准则:

  1. 将所有信息保留在您的数据库中,信用卡号除外。除非您认为自己的加密系统是安全的,否则切勿保留信用卡号。
  2. 存储 Authorize.net 成功或失败的交易
  3. 您需要创建一个事务表,您将在其中为每个事务创建一个新行,无论是同一用户或事务结果。
  4. 加密交易的某些部分:地址是加密的好东西。如果您被黑客入侵,这将避免身份盗用。
  5. 确保所有用户密码都经过哈希处理
  6. 将网站数据库连接也加密存储
  7. 仅使用存储过程与数据库通信。如果存储过程构建正确,这应该可以避免 SQL 注入。

【讨论】:

  • 但是我的问题是,如果数据库所有者自己误用了详细信息,用户将他的卡号和我上面提到的其他详细信息放到网站上有多安全,支付 getway 有一些机制认识到它只来自用户而不是来自任何其他人,或者客户必须在信任的基础上这样做..
  • Authorize.net 有几个功能可以帮助授权交易,包括信用卡号、卡验证码、网站位置(美国或东欧(很可能被阻止))等。但是任何存储此信息的网站所有者都可以使用它。一旦您掌握了这些信息,它就会在纯粹的信任基础上发挥作用。
【解决方案2】:

就是这样,网站所有者可以将所有信息放入他的数据库中,如果网站上存在交易模式,这就是为什么我和我认为大多数其他人要么从受信任的网站或重定向到的网站进行交易一些受信任的网关,例如用于金融交易的 paypal 或 authorize.net。

【讨论】:

  • 我正在使用 Authorised.net,它是无缝的...无缝支付网关是一种直接在您的在线商店网站上处理信用卡而不会将购买客户重定向到任何第三方网站的网关
  • 是的,我知道,我们最近也在我们的一个项目中使用了 Authroised.Net,我们从用户那里获取输入并将其保存在数据库中,我们还保存了信用卡号,但就像 **** ********1111,只有最后四位数字。如果您必须在某些报告中向客户显示 CC 编号,您也可以使用此方法。
    此外,您还必须在您的网站上实施 SSL,或者您可以将客户重定向到 Authorize.NET,并在交易完成后将他发回给您。如果网站需要获得客户的信任,第二个是更好的方法。
【解决方案3】:

感谢您的澄清。我目前正在开发一个以同样方式使用 PayPal 的项目。我们在我们的数据库中存储授权代码和交易 ID。

在我看来,用户通过存储他们的信息来节省 30 秒左右的时间不值得冒险存储他们的信息。如果您正在进行重复交易,供应商会为您安全地存储信息(至少 PayPal 会这样做),因此没有真正的理由将信用卡信息存储在您的系统中。

[编辑] 正如 Imran 指出的那样,存储数字的最后 4 位数字可以很好地显示在报告上。

除了联系您的信用卡公司并报告欺诈性费用之外,如果数据库所有者正在存储这些信息,您无法采取任何措施来防止他们滥用这些信息。支付网关不知道是谁在输入支付详细信息,除了确保交易来自其授权客户之一(即授权使用支付网关的客户)。

【讨论】:

  • 是的,我知道将信用卡信息存储在数据库中的价值较低,我也在做同样的事情,我只保存 trasationID 和一些更多相关详细信息,但如果一些被骗或不可信的网站出售一些商品进入市场,他们有将卡信息保存到数据库的机制,然后我想知道他们是否会滥用它的信息,买家完全不知道,他的卡信息也被保存了..
  • 这是数据。如果它存储在他们的系统中,他们可以随心所欲地使用它,直到被抓住。
  • 谢谢你这是我的困惑,如果所有者滥用它,没有办法防止它,法律程序来晚了:)
猜你喜欢
  • 2012-05-05
  • 1970-01-01
  • 2013-05-12
  • 1970-01-01
  • 2011-12-30
  • 1970-01-01
  • 2015-06-06
  • 2015-01-16
  • 2016-02-25
相关资源
最近更新 更多