Use r Pr ivile ge
Use r Pr ivile ge
Saat m engakses MySQL lewat PHP sangat lah riskan j ika kit a m enggunakan root sebagai user. Karena root m em iliki sem ua hak ( privilege) dalam m em anipulasi dat abase. Penggunaan root hanya diperlukan unt uk kegiat an adm inist rasi saj a. Dengan dem ikian kit a perlu m em buat user baru yang hanya m em iliki hak at au privilege pada query- query t ert ent u saj a.
Unt uk m em buat privilege anda harus login t erlebih dahulu sebagai root . Hal ini sudah kit a lakukan. Query yang kit a gunakan unt uk keperluan privilege adalah GRANT. St rukt ur dasar gari query GRANT adalah sebagai berikut .
GRANT privilege [KOLOM] ON database TO username [IDENTIFIED BY 'password'] [WITH GRANT OPTION];
Nah karena saat ini privilege dari dat abase karyawan hanya root yang m em egangnya. Kit a akan m em buat user baru yang bernam a sat pam . User ini akan kit a beri priv ilege SELECT, UPDATE, INSERT dan DELETE. User sat pam ini nant inya hanya punya wewenang pada dat abase karyawan. Dan hanya boleh m engeksekusi keem pat query sepert i yang sudah disebut kan sebelum nya. Pada m ysql prom pt ket ikkan query berikut
mysql> GRANT SELECT, INSERT, UPDATE, DELETE [ENTER] -> ON karyawan.* TO satpam [ENTER] -> IDENTIFIED BY "satpam123"; [ENTER]
Jika berhasil pesan yang dit am pilkan adalah Query OK, 0 rows affected (0.00 sec). Password dari user sat pam adalah sat pam 123. Tent u saj a anda harus m enggant i password yang lebih baik j ika pada apliaksi sebenarnya. Karena saat ini anda m asih login sebagai root anda m asih bisa m engakses dat abase m ysql. Unt uk m elihat daft ar user yang ada, sekarang ket ikkan query berikut
mysql> use mysql; [ENTER] mysql> SELECT user, password FROM user; [ENTER]
Out put yang dit am pilkan adalah sepert i berikut +---------+-------------------------------------------+ | user | password | +---------+-------------------------------------------+ | root | *AF74DC9E71AF0EE54053466BB3BBE00336A5B4C3 | | root | *AF74DC9E71AF0EE54053466BB3BBE00336A5B4C3 | | satpam | *E44D241271A19F90FBC6DE8FA5BC6EDF596BD8EC | +---------+-------------------------------------------+
3 rows in set (0.00 sec)
User sat pam t elah berhasil kit a m asukkan pada daft ar user. Tapi... passwordnya kok berbeda? Bukan sat pam 123. Unt uk keam anan password t elah dienkrip m enggunakan fungsi PASSWORD(). Nam un unt uk login anda t et ap m enggunakan password sat pam 123. Jadi saat login ot om at is password yang anda ket ikkan anda dienkrip m enggunakan fungsi PASSWORD() sehingga hasilnya akan selalu sam a.
Unt uk m enget es apakah benar user sat pam hanya m em ilik i privilege pada dat abase karyawan dan query yang diperbolehkan hanya SELECT, UPDATE, INSERT dan DELETE. Keluarlah dari m ysql prom pt dengan m enggunakan perint ah \q [ENTER]. Set elah anda berada pada DOS prom pt , login kem bali ke MySQL Monit or m enggunakan user sat pam sepert i berik ut
C:\>mysql –u satpam –p [ENTER]
Pada Ent er Password ket ikkan Sat pam 123 Enter password: ********* [ENTER]
Sekarang anda sudah login t et api bukan sebagai root m elainkan sebagai sat pam . Kit a akan coba m engakses dat abase m ysql yang bukan hak dari user ini. Pada m ysql prom pt ket ik query berikut
mysql> use mysql; [ENTER] ERROR 1044 (42000): Access denied for user 'satpam'@'%' to database 'mysql'
Error t ersebut m enunj ukkan kit a t ak m em punyai privilege unt uk m engakses dat abase m ysql. Sekarang cobalah unt uk m engakses dat abase karyawan pada m ysql prom pt ket ikkan
mysql> use karyawan; [ENTER] Database changed
Ternyat a m em ang bisa. Nam un unt uk m elihat apakah sem ua query dapat dij alankan pada dat abase ini lakukan query DROP TABLE. Yang bener nih...! ya lakukan saj a
mysql> DROP TABLE data_pribadi; [ENTER] ERROR 1142 (42000): DROP command denied to user 'satpam'@'localhost' for table 'data_pribadi'
Bet ulkan! User sat pam t idak m em iliki privilege t erhadap query DROP sehingga MySQL t idak m engij inkan penggunaan query ini.
**********
H a r i Ke - 12
I kut i langkah- langkah berikut sebelum m elaj ut kan m at eri pda hari ke dua belas Masuklah pada direkt ori C: \ Apache2\ ht docs\ webm ast er\ Bab3\ Buat folder baru dan beri nam a ha ri- 1 2
ph pM yAdm in
Karena pada hari sebelum nya anda t elah m enguasai MySQL. Maka anda t idak akan kesulit an dalam m enggunakan phpMyAdm in. Karena phpMyAdm in hanyalah alat unt uk m em perm udah m anipulasi dat abase. Unt uk it u m at eri yang harus anda kuasi kali ini m eliput i:
Mengenal phpMyAdm in Mengenal Berbagai Tab phpMyAdm in