Cara Menghindari Website Anda dari Inject & Deface

kendala bagi seorang pembuat situs adalah diinject lalu dideface, oleh sebab itu, sang pembuat situs harus mampu juga dwi-fungsi sebagai security atas situs yang dikelolanya.... banyak ditemukan situs yang bahkan official kampus bisa diinject dan bebas menjadi sang admin....

kalo cara sederhana dari gw buat menghindari inject dan deface SQL Injection:

1. semua inputan dari user jangan lupa di filter, dari client side ama server side...
2. hindarin SELECT * .. pake SELECT field_yang_dibutuhin1, field_yang_dibutuhin2
3. kenapa ngga dicoba sendiri ngehack website anda... (firebug firefox addon bisa ngebantu)

ada beberapa saran yang bagus, jika anda hanya memerlukan aplikasi lokal untuk mengakses database mySQL, hapus tanda komentar pada baris berikut ini di /etc/mysql/my.cnf.
menonaktifkan akses jaringan skip-networking,

kemudian kita non-aktifkan penggunaan perintah LOAD DATA LOCAL INFILE.

ini kita lakukan untuk mencegah pembacaan file lokal yang tidak diizinkan, hal ini relevan ketika ditemukan kerantanan Injeksi SQL pada aplikasi PHP...

menonaktifkan LOAD DATA LOCAL INFILE pada seksi [mysqld]
set-variable=local-infile=0

selanjutnya, kita perlu membuang database contoh (test) dan semua akun selain akun root lokal,

membuang database contoh dan semua akun user yang tidak diperlukan:
mysql> drop database test;
mysql> use mysql;
mysql> delete from db;
mysql> delete from user where not (host="localhost" and user="root");
mysql> flush privileges;

HATI-HATI dengan perintah-perintah di atas jika anda telah mengkonfigurasi akun user...

PS: jika anda telah mengganti password dari prompt MySQL. anda harus selalu membersihkan ~/.mysql_history dan /var/log/mysql/mysql.log karena file-file ini menyimpan perintah-perintah MySQL yang pernah dijalankan dengan password dalam bentuk teks biasa...

kemudian, filter input bisa pake beberapa library khusus filtering.. (PHP)
kayak htmLawed, htmLawed biasanya gw pake buat nge-filter