Сохранение данных кредитной карт в базе данных MySQL? [закрытый]

Я хочу позволить моим клиентским пользователям вводить свои данные кредитной карты так, чтобы я мог заряжать их каждый месяц.

Интересно, как нужно сохранить эту информацию?

Это должно быть сохранено в базе данных MySQL ("пользовательская" таблица), или действительно ли это - вид слишком чувствительной информации и потребность, которая будет сохранена в другом месте?

Я не имею никакого опыта этого и радовался бы, мог ли кто-то совет меня, как выполнить это.

Спасибо.

37
задан marc_s 25 July 2010 в 13:54
поделиться

3 ответа

Как упоминалось выше, не храните информацию о кредитной карте в базе данных. Это рецепт неприятностей. Это сделает вас очень привлекательной целью для хакеров и, если им удастся их восстановить, положит конец вашему бизнесу и потенциально разрушит вашу жизнь, а также жизни тех, чьи номера кредитных карт были украдены.

Сказав это, вот три вещи, которые следует учитывать:

1) Лучше всего использовать платежный процессор / платежный шлюз, который предлагает регулярное выставление счетов. Примером этого является служба Authorize.Net Автоматизированного периодического выставления счетов .После того, как вы настроите подписку, они будут автоматически выставлять счет пользователю каждый месяц автоматически и сообщать вам результаты транзакции. Это сэкономит вам массу работы и избавит вас от необходимости хранить информацию о кредитной карте.

2) Если вы храните номера кредитных карт, вы должны следовать рекомендациям PCI . Эти правила устанавливаются индустрией платежных карт и определяют, что вы можете и чего не можете делать. Он также определяет, как должна храниться информация о кредитной карте. Вам нужно будет зашифровать номера кредитных карт, и вы должны, но не обязаны, зашифровать связанную информацию (дату истечения срока действия и т. Д.). Вам также потребуется обеспечить безопасность вашего веб-сервера и сети. Несоблюдение требований PCI приведет к потере вашей учетной записи продавца и навсегда лишится возможности иметь настоящую учетную запись продавца. Это ограничит вас использованием процессоров сторонних производителей, которые менее гибки. Имейте в виду, что рекомендации PCI - хорошее начало, но вряд ли "как", когда дело касается сетевой безопасности. Ваша цель - превзойти рекомендацию (намного).

3) Законодательство штата и страны заменяет соблюдение требований PCI. Если вы пострадали от взлома и были украдены номера кредитных карт, вам грозит уголовное преследование. Законы различаются от штата к штату и постоянно меняются, поскольку законодатели только начинают понимать, насколько это серьезный вопрос.

Что касается шифрования, убедитесь, что вы прочитали, какие алгоритмы шифрования безопасны и еще не были взломаны. Blowfish - хорошее начало, и если вы используете PHP, рекомендуется библиотека mcrypt ( пример ).

84
ответ дан 27 November 2019 в 04:12
поделиться

Самый безопасный способ - НЕ хранить информацию о кредитной карте в вашей системе, но позвольте третьей стороне платежной системе сделать это за вас.

17
ответ дан 27 November 2019 в 04:12
поделиться

Не требуется, чтобы вы использовали стороннего поставщика платежных услуг, например PayPal и т. Д. - но вы должны быть совместимыми с PCI , если собираетесь хранить информацию о платежных картах. Прочтите эту статью о BC Ferries, которые сталкиваются со значительными штрафами за несоблюдение требований PCI , чтобы понять, насколько серьезно быть совместимым с PCI.

Мой нынешний работодатель проходит процедуру соответствия PCI - это нетривиальный процесс, требующий сотрудников для аудита.Правоприменение зависит от законодательства страны и штата / провинции - Канада IIRC требует, чтобы вы были сертифицированы PCI комитетом, работающим на PCI, в то время как некоторые штаты в США разрешают компаниям, проводящим аудит соответствия PCI, работать вместо комитета PCI.

6
ответ дан 27 November 2019 в 04:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: