Взятие данных кредитной карт онлайн, не обрабатывая — как лучше всего сделать так?

В SVN тег и ответвление действительно подобны.

Тег = определенная часть вовремя, обычно используемый для выпусков

Ответвление = также определенная часть вовремя, что разработка может продвинуться, обычно используемый для основной версии как 1,0, 1.5, 2.0, и т.д., тогда когда Вы выпускаете Вас, отмечают ответвление. Это позволяет Вам продолжать поддерживать производственный выпуск при продвижении с повреждением изменений в соединительной линии

Соединительная линия = пространство технической разработки, это - то, где вся разработка должна произойти, и затем изменяется объединенный назад от выпусков ответвления.

5
задан Darryl Hein 18 July 2009 в 15:45
поделиться

7 ответов

Я решил эту проблему, построив интерфейс для GPG и позволив владельцу веб-сайта создавать свои собственные ключи GPG. Затем все данные кредитной карты зашифрованы GPG и могут быть расшифрованы только с помощью закрытого ключа владельца веб-сайта, который в целях дополнительной безопасности при желании может храниться вне сервера.

4
ответ дан 18 December 2019 в 13:17
поделиться

Я рекомендую использовать Authorize.net (только потому, что это то, что я использовал). Вы можете опубликовать информацию о кредитной карте на Authorize.net, чтобы получить (AUTH_CAPTURE, я полагаю) информацию о кредитной карте, которая будет взиматься. Затем ваш клиент может войти в виртуальный терминал Authorize.net и взимать или аннулировать каждый платеж в зависимости от доступного инвентаря.

НЕ храните информацию о кредитной карте, даже если она зашифрована, в базе данных, доступной через Интернет. Я не знаю, где начинается и заканчивается соблюдение требований PCI, но я знаю, что если ваш клиент хранит информацию о кредитной карте, то они должны соответствовать требованиям PCI от поставщиков кредитов, которых они принимают. Соблюдение ЧКВ - это боль, и подход, который я рекомендую, - это самый простой способ обойти это, что я нашел. И с минимальной головной болью для клиента.

4
ответ дан 18 December 2019 в 13:17
поделиться

Существует большое количество доступных платежных систем, которые я бы рекомендовал использовать вместо POS-машин. Большинство комментариев - это PayPal, Authorize.net, CyberSource ... у всех есть программные API, позволяющие вам взаимодействовать с вашим сайтом.

Во-вторых, я использую шифрование Rijndael, так как я считаю, что это наиболее безопасный способ хранения данных карты. Я делаю все возможное, чтобы скрыть ключ шифрования за пределами веб-конфигурации (отдельный файл, регистрационный ключ и т. Д.).

И последнее, но, вероятно, самое важное, вы должны внимательно изучить сертификат соответствия PCI (индустрии платежных карт) ( https://www.pcisecuritystandards.org/ ). Я считаю, что это быстро становится требованием (если это еще не сделано) для приема данных карты в Интернете. В будущем могут быть наложены штрафы для тех, кто не соблюдает правила.

3
ответ дан 18 December 2019 в 13:17
поделиться

Вы можете сохранить данные кредитной карты в базе данных MySql (другие могут работать, но я незнаком), используя функцию MySql AES_ENCRYPT для шифрования номера карты, а затем AES_DECRYPT при получении. Используйте надежный ключ и удалите запись в базе данных после того, как они будут обработаны.

Возможно, есть способ выполнить шифрование / дешифрование AES с помощью PHP, но мне неизвестен собственный способ.

1
ответ дан 18 December 2019 в 13:17
поделиться

Я знаю, что вы просили решение, которое не требует обработки платежей, но в Канаде есть процессор кредитных карт под названием CurePay, который, насколько я слышал, относительно дешев (я не сам пользуюсь). www.curepay.com. Может быть, стоит их крикнуть, по крайней мере, чтобы узнать о ценах.

Кроме того, я, кажется, припоминаю кое-что о каком-то соблюдении правил при снятии номеров кредитных карт. Хранение кредитных карт или их «неправильная» обработка может привести к возникновению проблем с законом. Не пытаясь вас напугать, просто убедитесь, что вы определенно рассматриваете подобные вещи с любым решением, которое вы выберете.

0
ответ дан 18 December 2019 в 13:17
поделиться

Лучше всего использовать асимметричное шифрование. Создайте пару открытого и закрытого ключей RSA. Поместите закрытый ключ в ЗАЩИТНОЕ место. Разместите открытый ключ на своем веб-сервере. Когда клиенты хотят предоставить данные своей кредитной карты, отправьте им открытый ключ. Зашифруйте данные с помощью открытого ключа на этой стороне клиента. В OpenSSL посмотрите процедуры конверта (EVP _ **).

Таким образом, единственный способ восстановить данные кредитной карты в открытом виде - это расшифровать с помощью очень безопасного, никогда не размещаемого в сети, никогда не обнаруженного закрытого ключа компьютера, подключенного к Интернету.

Вы можете создать довольно простое автономное приложение, которое делает это, опять же с помощью OpenSSL.

Учитывая небольшой объем данных, которые вы хотите зашифровать, я думаю, что это довольно практичное решение.

Более эффективное, но более сложное решение - это AES-шифрование данных с помощью ключа, созданного на стороне клиента. Затем зашифруйте этот ключ AES, как указано выше (замените кредитную карту на ключ AES в моем вышеупомянутом решении).

Учитывая небольшой объем данных, которые вы хотите зашифровать, я думаю, что это довольно практичное решение.

Более эффективное, но более сложное решение - это AES-шифрование данных с помощью ключа, созданного на стороне клиента. Затем зашифруйте этот ключ AES, как указано выше (замените кредитную карту на ключ AES в моем вышеупомянутом решении).

Учитывая небольшой объем данных, который вы хотите зашифровать, я думаю, что это довольно практичное решение.

Более эффективное, но более сложное решение - это AES-шифрование данных с помощью ключа, созданного на стороне клиента. Затем зашифруйте этот ключ AES, как указано выше (замените кредитную карту на ключ AES в моем вышеупомянутом решении).

1
ответ дан 18 December 2019 в 13:17
поделиться

Хранение кредитной карты вообще осуществляется в соответствии с требованиями PCI. Правила PCI полны и подробны. Это не простая проблема. Если бы мне пришлось делать это снова, я бы посмотрел на покупку тележки, совместимой с PCI, и установил ее, и покончил с ней.

1
ответ дан 18 December 2019 в 13:17
поделиться
Другие вопросы по тегам:

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