Bagaimana Saya Dapat Dengan Aman Menerapkan Fitur Login Tanpa Kata Sandi?

10

Baru saja memposting plugin baru: Tidak Ada Kata Sandi

Saat ini saya telah menandai beta karena masuk ke platform adalah masalah sensitif dan saya tidak ingin merilis sesuatu yang mungkin memiliki celah keamanan. Jadi, inilah pertanyaan saya:

Apakah aman?

Saya telah melakukan yang berikut untuk memastikan keamanan:

  1. Nama pengguna / kata sandi tidak pernah diteruskan, hanya hash yang unik.
  2. Hash dihapus dari database setelah digunakan, hash lama yang belum pernah digunakan tidak dapat kecuali jika database diretas, tetapi kemudian Anda memiliki masalah yang lebih besar.
  3. Semua permintaan basis data hash telah lolos untuk mencegah serangan XSS.
  4. Nonce ditambahkan ke panggilan ajax.
  5. nonce dan konfirmasi ditambahkan pada ponsel untuk mencegah serangan CSRF.

Di sini saya memiliki deskripsi lengkap tentang cara kerjanya .

Versi berikutnya Saya berharap dapat mengimplementasikan oauth melalui twitter, karena iOS sekarang telah berfungsi di ...

Terima kasih atas masukan Anda sebelumnya.

Sunting: Saya memutuskan bahwa sebagai lapisan tambahan saya akan menambahkan pemeriksaan sessionID untuk memastikan bahwa itu adalah browser yang sama dengan yang masuk sebagai browser yang memulai login kode QR.

jackreichert
sumber

Jawaban:

5

(Saya payah untuk skema masuk alternatif)

Beberapa hal menarik tentang DB yang lolos:

  • Anda menggunakan mysql_real_escape_string()secara langsung. Metode yang disukai menggunakan $wpdb->prepare()atau esc_sql().

  • Pertanyaan UPDATE paling baik ditangani oleh $wpdb->update()

scribu
sumber
Saya telah memperbarui plugin untuk memasukkannya. Terima kasih atas tipnya.
jackreichert
5

Saya pikir itu ide yang bagus tetapi seperti selalu kelemahan terbesar adalah faktor manusia, dalam hal ini telepon itu sendiri akan hilang, dicuri atau disadap. Pernahkah Anda berpikir untuk menambahkan otentikasi 2-layer, seperti kode verifikasi SMS (seperti gmail, dll). Atau alternatif yang lebih mudah adalah cookie + kata rahasia.

Dapatkah Anda menyebutkan algoritma apa yang menghasilkan kode QR di halaman tentang Anda?

Wyck
sumber
Jadi plugin ini bergantung pada Anda sedang login di ponsel Anda untuk bekerja. Risiko keamanan dari kehilangan telepon Anda hampir sama dengan membiarkan pc Anda masuk ke situs wp Anda. Saya menggunakan api grafik Google untuk menghasilkan kode qr.
jackreichert
3
Saya hanya berpikir itu akan menjadi ide yang baik untuk menambahkan lapisan lain yang tidak akan menghalangi pengguna, karena ponsel dicuri / hilang lebih banyak daripada PC, dan pada PC Anda masih perlu mengetahui nama pengguna / kata sandi.
Wyck