Artikel ini terutama mempelajari pertanyaan yang relatif umum dalam pertanyaan wawancara Java, dan masalah menilai dan mencegah injeksi SQL. Dengan rincian sebagai berikut.
Injeksi SQL adalah metode serangan yang paling umum digunakan untuk peretas saat ini. Prinsipnya adalah menggunakan database untuk mengurai pengidentifikasi khusus untuk secara paksa meneruskannya dari halaman ke latar belakang. Ubah struktur pernyataan SQL, mencapai izin yang diperluas, buat pengguna tingkat tinggi, memodifikasi informasi pengguna secara paksa, dan operasi lainnya.
Melalui prinsip injeksi SQL, kita tahu bahwa menilai data bahwa injeksi SQL dapat dilewatkan melalui halaman, latar belakang seharusnya tidak percaya pada data apa pun yang diturunkan dari latar belakang, terutama parameter bilangan bulat khusus dan parameter karakter khusus!
1. Periksa tipe dan format data variabel
Selama ini adalah variabel dalam format tetap, sebelum pernyataan SQL dieksekusi, harus diperiksa secara ketat dalam format tetap untuk memastikan bahwa variabel adalah format yang kami harapkan!
2. Saring Simbol Khusus
Untuk variabel yang tidak dapat ditentukan dalam format tetap, simbol khusus harus digunakan untuk memprosesnya atau mentransfernya. Ada ambiguitas di SQL.
Saat kami mengunggah gambar
enctype =/"multipart/form-data/" enctype = "multipart/form-data"
Tanpa "/", enctype = "multipart/form-data" dalam bentuk berarti mengatur penyandian mime dari formulir. Secara default, format pengkodean ini adalah Application/X-WWW-Form-Burlencoded, yang tidak dapat digunakan untuk mengunggah file; Hanya dengan menggunakan Multipart/Form-Data, data file dapat sepenuhnya dilewati dan operasi berikut dilakukan.
3. Bind variabel dan gunakan pernyataan yang sudah dikompilasi
Faktanya, menggunakan pernyataan yang dikompilasi untuk mengikat variabel adalah cara terbaik untuk mencegah injeksi SQL, dan semantik menggunakan pernyataan SQL yang dikompilasi tidak akan berubah. Dalam pernyataan SQL, gunakan tanda tanya untuk variabel? Ini berarti bahwa tidak peduli seberapa mampu seorang peretas, ia tidak dapat mengubah format pernyataan SQL, dan pada dasarnya mencegah terjadinya serangan injeksi SQL.
4. Keamanan Enkripsi Informasi Database
Kadang -kadang ketika informasi basis data bocor, kita harus mengenkripsi kata sandi basis data dan informasi lainnya (MD5, dll.), Sehingga informasi bocor dan kerugian dapat dikontrol dalam kisaran tertentu.
1. Jangan membuka lingkungan produksi untuk merangkum tampilan kesalahan webserver.
2. Jangan pernah percaya pada input variabel dari sisi pengguna. Variabel dengan format tetap harus diperiksa secara ketat. Variabel tanpa format tetap perlu melakukan penyaringan yang diperlukan dan melarikan diri dari karakter khusus seperti kutipan.
3. Gunakan pernyataan SQL yang dikompilasi yang mengikat variabel
4. Lakukan pekerjaan yang baik dalam manajemen izin akun database
5. Mengenkripsi dan memproses informasi rahasia pengguna secara ketat
Program yang baik harus memperhatikan keselamatan, jika tidak, itu hanya cocok untuk berlatih.
Di atas adalah semua isi artikel ini tentang analisis pertanyaan wawancara Java dan mencegah injeksi SQL. Saya harap ini akan membantu semua orang. Teman yang tertarik dapat terus merujuk ke topik terkait lainnya di situs ini. Jika ada kekurangan, silakan tinggalkan pesan untuk menunjukkannya. Terima kasih teman atas dukungan Anda untuk situs ini!