如果网站所有者窃取支付网关信息,那么使用支付网关是否安全?

时间:2012-05-22 11:22:08

标签: asp.net authorize.net

我正在整合支付网关;这是我第一次将支付网关功能集成到我的系统中,我使用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);

这些值只是修复了他的交易和物品的购买,所以我很困惑的是,如果网站所有者将所有这些信息都放入他的数据库并使用他的详细信息进行了更多的交易,那么什么呢?它是安全可靠的,还是其他一些我无法想象的事情?

3 个答案:

答案 0 :(得分:2)

以下是一些基本准则:

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

答案 1 :(得分:1)

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

答案 2 :(得分:1)

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

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

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

如果数据库所有者除了联系您的信用卡公司并报告欺诈性费用之外的其他信息,则无法阻止数据库所有者滥用这些信息。除了确保交易来自其授权客户之一(即授权使用支付网关的客户)之外,支付网关还不知道谁在输入支付细节。