javascript - Bagaimana untuk memastikan keselamatan maklumat dalam pangkalan data?
世界只因有你2017-05-02 09:25:58
0
2
840
Saya tidak pernah terdedah kepada keselamatan rangkaian Saya ingin bertanya kepada anda bagaimana untuk memastikan keselamatan selepas meletakkan maklumat pengguna dalam pangkalan data?
Soalan ini adalah soalan yang besar... Mari kita mulakan dari aspek berikut:
Kebenaran pangkalan data: Jangan selalu gunakan root untuk menyambung ke pangkalan data Buka akaun berasingan untuk aplikasi web dan kurangkan kebenaran
Kata laluan pangkalan data: Jangan gunakan kata laluan yang lemah, cuba gunakan kata laluan yang dijana secara rawak lebih daripada 16 aksara
Pelayan web: Sama seperti pangkalan data, buat kata laluan sekompleks mungkin. Cuba untuk tidak menggunakan akaun akar secara langsung
aplikasi web:
Cuba pilih pustaka DB atau pustaka ORM yang lebih baik dan gunakan pertanyaan SQL berparameter Jangan letakkan parameter secara langsung dalam SQL untuk mengelakkan suntikan SQL
Jangan simpan maklumat kata laluan pengguna (termasuk pengguna pengurusan bahagian belakang) secara langsung Ia harus dicincang dengan garam dan kemudian disimpan
Jika boleh, cuba gunakan HTTPS
Apabila membuat HTML, cuba gunakan pengekodan sebelum mengeluarkan untuk menghalang XSS
Apabila anda perlu mengeluarkan sekeping HTML teks kaya yang dikawal pengguna, gunakan penapis seperti htmlpurifier untuk menghalang XSS
Ikuti semantik kata kerja HTTP, gunakan POST/DELETE/PUT untuk operasi penambahan, pemadaman dan pengubahsuaian serta tambah csrf_token untuk mengelakkan serangan CSRF
Memikirkan perkara ini buat masa ini, masih banyak perkara yang perlu diberi perhatian dalam keselamatan web, saya cadangkan LZ mengupah perunding keselamatan secara terus.
Pertama sekali, kod bahagian hadapan dan bahagian belakang anda mesti memastikan keselamatannya dan mengelakkan kelemahan serangan seperti suntikan XXS atau SQL Kedua, pelayan pangkalan data dan pelayan web mesti dipisahkan, yang boleh meningkatkan sebahagian daripada prestasi keselamatan dan juga memudahkan penggunaan Laman web meningkatkan kecekapan. Di samping itu, adalah lebih baik untuk semua kata laluan dalam maklumat pengguna disulitkan menggunakan kaedah penyulitan tertentu sebelum disimpan dalam pangkalan data Ini memastikan bahawa walaupun ia dicuri, ia akan menjadi sukar bagi pencuri untuk mengetahui kata laluan sebenar harap anda akan menerimanya!
Soalan ini adalah soalan yang besar... Mari kita mulakan dari aspek berikut:
Kebenaran pangkalan data: Jangan selalu gunakan root untuk menyambung ke pangkalan data Buka akaun berasingan untuk aplikasi web dan kurangkan kebenaran
Kata laluan pangkalan data: Jangan gunakan kata laluan yang lemah, cuba gunakan kata laluan yang dijana secara rawak lebih daripada 16 aksara
Pelayan web: Sama seperti pangkalan data, buat kata laluan sekompleks mungkin. Cuba untuk tidak menggunakan akaun akar secara langsung
Cuba pilih pustaka DB atau pustaka ORM yang lebih baik dan gunakan pertanyaan SQL berparameter Jangan letakkan parameter secara langsung dalam SQL untuk mengelakkan suntikan SQL
Jangan simpan maklumat kata laluan pengguna (termasuk pengguna pengurusan bahagian belakang) secara langsung Ia harus dicincang dengan garam dan kemudian disimpan
Jika boleh, cuba gunakan HTTPS
Apabila membuat HTML, cuba gunakan pengekodan sebelum mengeluarkan untuk menghalang XSS
Apabila anda perlu mengeluarkan sekeping HTML teks kaya yang dikawal pengguna, gunakan penapis seperti htmlpurifier untuk menghalang XSS
Ikuti semantik kata kerja HTTP, gunakan POST/DELETE/PUT untuk operasi penambahan, pemadaman dan pengubahsuaian serta tambah csrf_token untuk mengelakkan serangan CSRF-
Pertama sekali, kod bahagian hadapan dan bahagian belakang anda mesti memastikan keselamatannya dan mengelakkan kelemahan serangan seperti suntikan XXS atau SQL Kedua, pelayan pangkalan data dan pelayan web mesti dipisahkan, yang boleh meningkatkan sebahagian daripada prestasi keselamatan dan juga memudahkan penggunaan Laman web meningkatkan kecekapan. Di samping itu, adalah lebih baik untuk semua kata laluan dalam maklumat pengguna disulitkan menggunakan kaedah penyulitan tertentu sebelum disimpan dalam pangkalan data Ini memastikan bahawa walaupun ia dicuri, ia akan menjadi sukar bagi pencuri untuk mengetahui kata laluan sebenar harap anda akan menerimanya!