Simpan detail kartu ke media persistensi apa pun (basis data, apa pun), tetapi enkripsi nomor kartu dengan dan acak yang unik kunci yang Anda simpan di sesi. Dengan begitu jika sesi hilang, kuncinya juga - yang memberi Anda cukup waktu untuk membersihkan data yang kedaluwarsa/ditinggalkan.
Pastikan juga sesi Anda terlindungi dari pembajakan. Ada solusi perangkat keras untuk ini, tetapi cara sederhana dalam kode adalah dengan mengikat ID sesi ke hash dari oktet pertama IP ditambah agen pengguna. Tidak mudah tetapi membantu.
Sunting :Kunci untuk meminimalkan risiko Anda adalah memastikan Anda menyingkirkan info itu sesegera mungkin. Tepat setelah transaksi selesai, hapus catatan dari database. Anda juga memerlukan pekerjaan bergulir (misalnya setiap 5 menit) yang menghapus catatan yang lebih lama dari waktu tunggu sesi Anda (biasanya 20 menit). Juga, jika Anda menggunakan database untuk sangat . ini data sementara, pastikan tidak ada di sistem pencadangan otomatis.
Sekali lagi, solusi ini tidak mudah dan saya bahkan tidak 100% yakin itu sesuai dengan persyaratan keamanan CC. Namun, penyerang harus memiliki kontrol runtime total dari lingkungan Anda untuk secara aktif mendekripsi info CC pelanggan, dan jika snapshot database Anda disusupi (lebih mungkin/umum), hanya satu CC yang dapat dipaksakan secara brutal pada satu waktu, yang merupakan hal terbaik yang dapat Anda harapkan.