通过 PHP 脚本通过电子邮件发送信用卡信息安全吗?

发布于 2024-10-24 16:40:36 字数 220 浏览 5 评论 0原文

我正在构建一个接受信用卡订单但不以编程方式授权付款的应用程序。相反,管理员必须检查每个订单并将其信息手动输入支付网关以完成付款(他们的决定,而不是我的决定)。我想知道存储(即使是临时的)他们的信息并将其传递给管理员的最佳方式是什么。

可以通过电子邮件发送未加密的此类信息吗?如果我对信息进行加密,通过管理面板向他们提供无风险的最佳方式是什么?

并且请不要告诉我 Google“PCI 合规性”。

I'm building an application that accepts credit card orders, but does not programatically authorize payments. Instead, an administrator MUST review each order and manually type their information into a payment gateway to complete the payment (their decision, not mine). I'm wondering what the best way to store (even if it is temporary) their information and deliver it to the admin.

Is it OK to email this sort of information unencrypted? If I encrypt the information, what is the best way to serve it to them through an admin panel without risk?

And please don't tell me to Google "PCI Compliance".

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

分開簡單 2024-10-31 16:40:36

如果接收计算机上有病毒怎么办?如果附近有一个数据包嗅探器怎么办(不太可能,但仍然......)。无论如何,您为什么要在电子邮件中发送如此不稳定的信息?难道持卡人不知道自己卡上的号码吗?我想如果您想说“您有[这张]卡”,只需发送号码的最后四位数字,例如“Visa Debitending in 1234”或“Solo,expiring 7/15”。

NO

What if there are viruses on the receiving computer? What if there is a packet sniffer near by (unlikely, but still...). Why would you want to send such volatile information in an email anyway? Wouldn't the card holder know the numbers on their own card? I suppose if you wanted to say "you have [this] card", only send the last four digits of the number, for example "Visa Debit ending in 1234" or "Solo, expiring 7/15".

酷遇一生 2024-10-31 16:40:36

简而言之:没有什么好的办法。让我们明确一点:

不。好的。方法。没有任何。零。没有。曾经。

Long:你只能在潜在的黑客和这些数据之间设置尽可能多的障碍。

  • 输入或显示信用卡信息的任何页面都必须使用HTTPS。这是真正的最低限度,否则任何拥有网络嗅探器的人都会获得这些凭据。
  • 使用强算法将这些凭证加密存储在数据库中:RSA、Blowfish。
  • 将加密密钥保存在“安全”的地方。 这是最弱点:当您在管理面板上显示信息时,您的脚本需要它来解密信息。因此,将其放入具有最小访问权限的文件中(例如,linux八进制权限设置为400,所有权为specialuser:specialgroup)。
  • 不要为此用户和 root 提供密码,仅使用 SSH 密钥设置 SSH 登录。
  • 偏执:每天更改用户密码,解密数据并每天或更短时间更改密钥。

编辑:

事实上,最薄弱的环节是用户的计算机。但当他被指控价值 10,000 美元的可卡因和卡拉什尼科夫冲锋枪时,他会说

我确信我在这个网站上提供了我的
凭据被黑客入​​侵。我永远不会
再次从他们那里购买

Short : No good ways. Let's make it clear:

NO. GOOD. WAYS. NONE. ZERO. NADA. EVER.

Long : You can only place as many hurdles you can between a potential hacker and these datas.

  • Any pages where the Credit Card informations are inputed or displayed must use HTTPS. That's the real minimum, or anyone with a network sniffer would get these credentials.
  • Store these credentials in your DB encrypted, using a strong algorithm : RSA, Blowfish.
  • Keep the key of the encryption in a "safe" place. This is the weakest point : your script needs it to decypher the informations when you display it on an admin panel. So put it in a file with minimal access right (e.g. linux octal rights set to 400, with ownership to specialuser:specialgroup).
  • Don't give a password to this user and to the root , set SSH login with only SSH key.
  • Be paranoïd : change the user password everyday, decypher the datas and change the key every day or less.

Edit:

In fact the weakest point would be the user's computer. But when he'll be charged for $10,000 of cocaïne and kalashnikov, he'll say

I'm sure this website where I gave my
credentials was hacked. I'll never
bought form them again

习ぎ惯性依靠 2024-10-31 16:40:36

不 - 它不安全。

即使你对电子邮件进行加密,我也不会向你购买任何东西。但话又说回来,即使你只通过 HTTPS 发送数据,我也不太可能从你那里购买东西 - 我只将我的抄送号码提供给我可以合理信任的公司(Google、Worldpay、Paypal、Sagepay、Netbanx.. .)

No - it's not secure.

Even if you encrypt the emails, I wouldn't buy anything from you. But then again, I'm not much more likely to buy stuff from you even if you only ship the data over HTTPS - I only give my cc number to companies I can reasonably trust (Google, Worldpay, Paypal, Sagepay, Netbanx...)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文