我有一个表格,有一些敏感信息(CC号码)。我的工作流程是:
从安全性或最佳实践角度来看,有没有人发现这有什么问题?
更新 我想我可以摆脱一个步骤 - 将信息存储在会话中。只需一页结账,没有评论页面......有意义。
答案 0 :(得分:1)
我认为CC号码必须加密。您可能希望搜索PCI合规性。 StackOverflow上有一些主题涉及安全方面。
答案 1 :(得分:0)
一些小点
在提交表单之前,您可以在JS中执行一些验证例程 - 检查信用卡号码的长度,检查日期是否在将来,对号码本身做一些vlidation(Luhn算法)
如果有错误,请不要填写所有表单条目。保留信用卡和安全号码。
信用卡号输入框应该有一个随机的HTML名称,因此有权访问该计算机的人不能简单地重新加载该页面并让浏览器自动填充信用卡字段
答案 2 :(得分:0)
使用IP地址和客户端浏览器向表单添加一些哈希(签名),并且只有在签名正确时才显示来自$ _POST的CC代码。
失败表格(伪代码):
$sig = md5($_SERVER['REMOTE_ADDR'] . $_SERVER['HTTP_USER_AGENT'] . $_POST['cc_code']);
<input type="hidden" name="sig" value="'.$sig.'" />
CC: <input type="text" name="cc_code" value="'.($sig==$_POST['sig'] ? $_POST['sig'] : '').'" />
但IMO最好的选择是将CC代码留空。
答案 3 :(得分:0)
作为经历了多次PCI合规的人,我可以诚实地告诉你,这是一个疯狂的BS负载。
最佳做法是将信用卡数据的存储卸载到已经处理了PCI合规性的大型服务提供商上,并且诚实地说,它在市场上拥有更多的资源,经验和信誉。
我说的是像http://www.braintreepayments.com/
这样的人信用卡数据是一个热门的土豆。您希望尽快从服务器上获取这些内容,但仍然可以使用它来重复计费。
希望有帮助...