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