Документ PCI 1.2 просто вышел. Это дает процесс для того, как реализовать соответствие PCI наряду с требованиями. Можно найти полный документ здесь:
https://www.pcisecuritystandards.org/security_standards/pci_dss.shtml
, Короче говоря, создает сегмент отдельной сети для того, какой бы ни серверы будут выделены хранению информации о CC (обычно сервер (серверы) БД). Изолируйте данные как можно больше и удостоверьтесь, что только минимальный доступ, необходимый для доступа к данным, присутствует. Зашифруйте его при хранении его. Никогда не храните PAN. Произведите чистку старых данных и поверните Ваши ключи шифрования.
Пример Don'ts:
DOS В качестве примера:
Не может ли ваш компилятор C вставить любые / все буквальные строки в постоянную память (например, VC ++ с включенным пулом строк)? Или вы явно требуете, чтобы они сохранялись таким образом последовательно?
Я не уверен, что понимаю ваш вопрос, но вы имеете в виду:
const char * const array[] = { "LongWord1", "Word2", "Word3", "Word4" };
Это объявляет постоянный массив указателей на постоянные символы.
Хорошо, чтобы избежать strlen, как насчет :
struct Str {
size_t len;
char *str;
};
#define STR(s) { sizeof(#s) - 1, #s }
const struct Str[] = { STR(LongWord1), STR(Word2), STR(Word3), STR(Word4) };
Этот вопрос в некоторой степени актуален:
Строковые литералы
Как уже указывалось, хранение строковых литералов в ПЗУ / ОЗУ зависит от платформы / реализации, вам не следует делать никаких прогнозов для который. Также нежелательно использовать скрипт для чтения и создания массивов соответствующих размеров и их хранения. Вам лучше выбрать динамическую память .