Как уже упоминалось выше, не храните информацию о кредитной карте в базе данных. Это рецепт неприятностей. Это сделает вас очень привлекательной целью для хакеров и, если они будут успешны в их получении, прекратит ваш бизнес и потенциально разрушит вашу жизнь, а также жизнь тех, чьи номера кредитных карт украдены.
Сказав, что здесь три вещи, чтобы рассмотреть следующие вопросы:
1) Лучше всего использовать шлюз процессора оплаты/оплату, который предлагает повторяющийся биллинг. Примером этого является услуга Authorize.Net's Automated Recurring Billing. После того, как вы настроите подписку, они автоматически будут автоматически выставлять счет за каждый месяц для вас автоматически и сообщать о результатах транзакции. Это экономит вам массу работы и освобождает вас от ответственности за хранение информации о кредитной карте.
2) Если у вас есть номера кредитных карт магазина, вы должны следовать PCI guidelines. Эти рекомендации устанавливаются отраслью платежных карт и определяют, что вы можете и чего не можете сделать. Он также определяет, как должна храниться информация о кредитной карте. Вам нужно будет зашифровать номера кредитных карт, и вы должны, но не обязаны шифровать связанную информацию (срок действия и т. Д.). Вам также потребуется обеспечить безопасность вашего веб-сервера и сети. Несоблюдение требований PCI приведет к потере вашей учетной записи продавца и тому, что навсегда останется реальная торговая учетная запись. Это ограничило бы использование сторонних процессоров, которые менее гибки. Имейте в виду, что рекомендации PCI - это хорошее начало, но вряд ли «как», когда дело касается онлайн-безопасности. Ваша цель - превысить рекомендацию (по большому счету).
3) Законы государств заменяют соответствие PCI. Если у вас есть нарушение, и номера кредитных карт украдены, вы рискуете привлечь к уголовной ответственности. Законы варьируются от штата к штату и постоянно находятся в движении, поскольку законодатели только начинают осознавать, насколько серьезным является этот вопрос.
Что касается шифрования, убедитесь, что вы прочитали, какие алгоритмы шифрования являются безопасными и еще не были сломаны. Blowfish - хорошее начало, и если вы используете PHP, рекомендуется использовать mcrypt library (example).
В зависимости от законов, которые применяются к тому месту, где вы управляете своим бизнесом, оно может быть * незаконным * для хранения номеров кредитных карт таким образом. Будьте осторожны, поговорите с вашим банком и/или юридическим представительством. –
это законно? в большинстве случаев мы используем Paypal и ccaven для онлайн-транзакций. если вы сохранили информацию о кредитной карте, для которой вам требуется гораздо больше безопасности. – 2010-07-25 14:40:21
Не надо. (Мое мнение как программист и как покупатель.) –