Как замаскировать маску номера кредитной карты в тексте [с регулярным выражением] ?
Не.
Иногда они пишут номер своей кредитной карты в сообщении.
Они действительно не должны. Не поощряйте это поведение. Это не PCI-совместимый :
Что такое PCI-совместимость?
Стандарт безопасности данных индустрии платежных карт (PCI DSS) применяется к компаниям любого размера , которые принимают платежи по кредитным картам. Если ваша компания намерена принимать платежи по карте и хранить , обрабатывать и передавать данные владельца карты , вам необходимо безопасно разместить свои данные у поставщика услуг хостинга, совместимого с PCI.
Когда вы принимаете данные кредитной карты через веб-сайт, сделайте это с помощью утвержденного поставщика услуг, такого как Stripe, PayPal, BlueSnap, SecurionPay и т. Д. Эти услуги не очень популярны, потому что платежные системы сложно сделать, а потому что они трудно сделать правильно (и законно). Все они имеют PHP API, поэтому вы можете позволить людям вводить данные кредитных карт, которые вы никогда не видите, и при этом брать с них плату за суммы, с которыми вы согласны.
Например, если вы использовали Stripe и хотите сообщить своему клиенту, с какой кредитной картой он подписан, их объект card
имеет свойство last4
, которое дает последние четыре цифры карта: на данный момент вы никогда не знали полный номер кредитной карты, и вам даже не приходилось задумываться о том, является ли предоставление первых четырех и последних четырех нарушением безопасности.
Никогда не храните данные электронных треков или защитный номер карты в любой форме
Хотя у вас может быть деловая причина для хранения информации о кредитной карте, правила обработки специально запрещают хранение кода безопасности карты или любых «данных трека», содержащихся в магнитной полосе на обратной стороне кредита. карта.
Защитный номер карты, называемый многими аббревиатурами, включая CVV2, CID и CSC, представляет собой трехзначный номер на обратной стороне карточек Visa / MasterCard / Discover или четырехзначный номер на лицевой стороне карточек American Express. Он предназначен для того, чтобы предоставить продавцам возможность узнать, действительно ли клиент, авторизующий транзакцию по телефону или через Интернет, имеет карту в своем распоряжении. Этот подход работает только в том случае, если код безопасности никогда не сохраняется вместе с номером карты. Электронное хранилище делает это легко. Вы просто не создаете поле для кода безопасности. Для хранения бумаги вам необходимо отредактировать (вычеркнуть темной ручкой, чтобы сделать нечитабельным) код безопасности после успешной обработки транзакции и перед сохранением формы авторизации на бумаге. [...]
Очевидно, что вы не должны хранить ни коды безопасности, ни отслеживать данные преднамеренно. Но вы также должны быть уверены, что не случайно не сохранили его. Для этого обязательно используйте только утвержденное аппаратное и программное обеспечение . [...]
Убедитесь, что все электронные хранилища номеров счетов кредитных карт зашифрованы и все хранилища на бумаге защищены
[...] Электронное хранение номеров кредитных карт также распространено, например, если вы обрабатываете повторяющиеся или повторяющиеся транзакции. Если вы делаете это, вам нужно убедиться, что вы никогда не сохраняете эти файлы в незашифрованном виде . Необходимо убедиться, что любое электронное хранилище зашифровано с использованием надежного алгоритма шифрования . Таким образом, если ваш компьютер украден или кто-то в вашем офисе получает несанкционированный доступ, у вас есть определенный уровень защиты номеров кредитных карт.
Есть много поставщиков услуг, которые предлагают безопасное хранение - либо как отдельную услугу, либо как часть пакета обработки платежей. Эти службы обычно предоставляют вам «токен» для номера карты, которую они хранят. Вы можете хранить токен в любом незащищенном файле. Когда вы будете готовы обработать платеж, вы просто отправляете поставщику услуг токен, и он получает полный номер карты с единственной целью обработки платежа. (Это технически сложнее, чем это, но вы поняли.) Обязательно используйте проверенного поставщика PCI DSS [...]