【问题标题】:Passing Credit Card Data To Controller将信用卡数据传递给控制器
【发布时间】:2015-12-12 01:59:26
【问题描述】:

在我的项目中,我需要记下客户的信用卡号码,以备将来付款之用,并将其存储起来。

当传递给将要存储数据的控制器操作时,如何确保在 MVC 视图中输入的数据的安全性?

我知道 SSL 是一项基本要求,但有没有我应该特别使用的方法?

请注意,我无法使用任何第三方处理器或任何其他方法。我有安全的卡片存储方法,因为我们正在从桌面应用程序过渡,但是我关心数据输入和控制器操作之间的安全性。

@using (Html.BeginForm())
{ 
    @Html.AntiForgeryToken()
    <div class="form-group">
        @Html.LabelFor(p => newPayment.cardnumber, htmlAttributes: new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            @Html.EditorFor(p => newPayment.cardnumber, new { htmlAttributes = new { @class = "form-control" } })
            @Html.ValidationMessageFor(p => newPayment.cardnumber, "", new { @class = "text-danger" })
        </div>
    </div>
}

【问题讨论】:

  • 请注意,与使用的技术无关,并且取决于外部业务/法律因素,您可能还需要检查 PCI 合规性,特别是如果您将卡号保留在某种持久性存储中。
  • 除非您真的需要,否则我会避免存储信用卡数据。
  • 这是一个广泛而复杂的主题,但正如旁注一样,SSL 会在传输过程中加密数据,它并不能帮助您将数据安全地存储在数据库中。如果您还没有,请查看Troy Hunt's blog
  • 如果您存储这种性质的重要信息,我还建议对这些存储值使用某种加扰算法或加密。如果您以纯文本形式存储,没有人会希望他们的信息受到损害
  • PayPalAuthorize.Net 让您可以安全地存储客户的信用卡信息。如果你想为卡充值,只需使用 ID(或令牌)即可。想想两个词 - HomeDepotTarget

标签: c# asp.net-mvc security credit-card


【解决方案1】:

使用 Stripe 付款。 Stripe 会为您存储所有敏感数据,并为您提供访问令牌。

【讨论】:

    猜你喜欢
    • 2017-09-20
    • 1970-01-01
    • 1970-01-01
    • 2016-11-26
    • 2017-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多