我开始了一个项目,在这个项目中,某些用户将在网上支付信用卡号码。 我知道如何处理Web应用程序方面的事情,但是我想获得关于维护这些服务器的IT考虑的build议。
对于初学者来说,我想我宁愿保留内部服务器,也不要使用任何云解决scheme。 但是,除此之外呢? 什么是防火墙或同等的build议? 其他系统安装? 其他最佳实践?
非常感谢。
有关于此的规定,即PCI-DSS,您需要注意。 它讨论了networking保护的最低要求,交易线上的encryption(SSL,数据库等)。 还介绍了安全措施,如防火墙,IDS,修补程序等。
我认为更好的解决scheme是使用支付处理器的托pipe解决scheme。 这样,您的风险就会受到更多的限制,因为处理付款的公司将存储任何敏感数据,您可以减less风险(通用交易ID的价值低于信用卡号码)。
如果项目不需要存储敏感的付款信息,那么我会看看托pipe的解决scheme。 从长远来看,这可能会带来更好的回报。
尽pipe这不切实际,但您应该了解PCI合规性 。
处理信用卡交易的标准方式是通过您的银行或信用卡授权中心进行授权。 以一种标准的方式,你不会得到CC的数据(因此你不需要担心它的安全性),你只能得到唯一的授权令牌。
CC销售模式http://www.virtualschool.edu/mon/ElectronicProperty/klamond/CCARD16.gif
使用SSL来encryption整个pipe道。 除非绝对必要,否则不要将信用卡号码存储在您的数据库中。 您应该使用支付网关,如Authorize.net来处理交易。 每个交易都会收到一个交易ID,并且应该logging在您的数据库中,因为它不是一个高价值或保密的信息。
有一件事要注意的是错误logging。 我使用ELMAH进行错误logging,并发现如果有人在他们input卡信息的页面上遇到错误,那么卡信息将作为HTTP POST值的一部分logging下来。