Masalah Register Globals

Register Globals adalah salah satu setting pada file php.ini yang berfungsi untuk mengatur EGPCS (Environment, Get, Post, Cookie, Server) akan di-registrasi sebagai variabel global atau tidak. Pengaturan ini ada dalam file php.ini yang barisnya seperti ini:

register_globals =  OFF

Kita bisa mengaturnya secara bebas mau dibikin On atau Off jika berada pada server localhost, akan tetapi menjadi masalah ketika script sudah kita upload di webhosting dan ternyata Script kita harus dipasang pada server dengan register globals On. Karena kita tidak akan bisa mengakses sampai pada folder yang menyimpan setting php.ini yg ada pada server.

Apa pengaruhya terhadap script kita untuk register globals on atau off ?

Pada awalnya register globals di set secara default secara ON agar para pengguna PHP lebih mudah dalam aplikasi programnya. Sehingga pada script PHP versi lama, variabel EGPCS ditulis secara langsung, misalnya $nama padahal untuk versi 4.3.x mengharuskan menjadi $_POST[“nama”], atau $_GET[“nama”].

Perhatikan  dua contoh penulisan script berikut ini:

Versi lama:

<?php
Echo “<form method=POST action=registrasi.php>
Nama : <input type=text name=’nama’>
<input type=submit name=klik value=Send></Form>”;

if($klik==’Send’){
echo “Nama Anda: $nama”;
}
?>

Script tersebut di atas jika dijalankan pada PHP versi 4.3.x dengan register globals OFF maka tidak akan running dengan baik, bahkan menampilkan halaman kosong. Maka harus disesuaikan dengan register globals yang OFF, diubah menjadi seperti ini:

<?php
Echo “<form method=POST action=registrasi.php>
Nama : <input type=text name=’nama’>
<input type=submit name=klik value=Send></Form>”;

if($_POST[klik]==’Send’){
echo “Nama Anda: $_POST[nama]”;
}
?>

Kami menampilkan salah satu dampak dari register globals yang default OFF untuk sekarang ini, sebenarnya masih banyak dampak lain. Maka mau tidak mau sekarang Anda harus edit script dengan mengacu pada register globals OFF karena secara keamanan lebih secure. Beberapa alasan mengapa Register Globals di setting OFF adalah:

  1. Masalah keamanan, hal ini berfungsi untuk meminimalisasi celah keamanan yang terbuka. Terpenting pada aplikasi input login user dan password.
  2. Pada aplikasi server PHP 4.3.x ke atas setting default adalah Register_globals= OFF, maka jika script masih mengacu pada register globals on, sudah dijamin tidak akan berjalan dengan sempurna di webhosting maupun di localhost yang sekarang sudah mencapai PHP versi 5.3.x

Maka sekarang ini jika Anda membeli script PHP harap diperhatikan versi scriptnya, kadang masih banyak beredar script PHP yang dijual secara bundling oleh orang-orang yang tidak bertanggung jawab dan hanya ingin mengeruk keuntungan tanpa mempedulikan script yang dijualnya. Maka bila Anda membeli script yang versi lama, sudah dijamin tidak akan bisa jalan baik di localhost maupun di webhosting.

Satu Tanggapan

  1. Terima kasih infonya…

    silakan berkunjung…🙂
    http://popnote.wordpress.com

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: