Ada ancaman berbeda yang (mungkin) Anda bicarakan di sini:
- Anda harus membersihkan data yang dimasukkan ke dalam database untuk menghindari injeksi SQL .
- Anda juga harus berhati-hati dengan data yang ditampilkan kepada pengguna, karena mungkin berisi skrip berbahaya (jika dikirimkan oleh pengguna lain). Lihat entri Wikipedia untuk skrip lintas situs (alias XSS)
Apa yang berbahaya bagi database Anda belum tentu berbahaya bagi pengguna (dan sebaliknya). Anda harus menangani kedua ancaman tersebut.
Dalam contoh Anda:
- Gunakan mysqli::real_escape_string () pada data yang dimasukkan ke db Anda (sanitasi)
Anda mungkin ingin menggunakan pemurni sebelum penyisipan data - pastikan itu "dimurnikan" pada saat pengguna mendapatkannya.
Anda mungkin perlu menggunakan striplash
() pada data yang diambil dari db untuk ditampilkan dengan benar kepada pengguna jika magic_quotes
aktif