Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Menyimpan Nomor Kartu Kredit di SESI - cara mengatasinya?

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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL- Mengapa LAST_INSERT_ID() tidak berfungsi untuk saya?

  2. Mengapa MySQL tidak menggunakan salah satu dari kemungkinan kunci ini?

  3. Dapatkan id yang dimasukkan terbaru di pemicu?

  4. Membandingkan string dengan yang satu memiliki ruang kosong sebelumnya sementara yang lain tidak

  5. MYSQL - datetime ke detik