PHP

Mengenal Register Global

03-Jul-2008 05:16:32

Register global adalah salah satu setting yang terdapat didalam file php.ini yang bertugas untuk mengatur apakah variabel-variabel EGCPS(Environment,GET,POST,Cookie,Server)akan didaftarkan sebagai variabel global atau tidakd. Indikasi Terkena gejala register globals Berikut beberapa contoh pertanyaan yang berhubungan dengan register global diantaranya adalah:

  • Aplikasi saya dapat berjalan di localhost tetapi ketika di upload di internet tidak bisa
  • Aplikasi login saya tidak bisa berfungsi padahal username dan password sudah benar dan tidak ada kesalahan coding php
  • CMS saya tidak dapat berjalan padahal di localhhost dapat berjalan


Dan masih banyak lagi beberapa pertanyaan yang serupa dan semua itu merupakan gejala dari register global dalam posisi off Setting register global terdapat pada file php.ini untuk mengecek status register globals coba ketik sintak berikut ini lalu jalankan pada browser anda ketik localhost Contoh code untuk mengecek status register global dan seting–seting lainnya :

phpinfo();
?>

Berikut beberapa penyesuaian pada code program yang harus dilakukan bila kondisi register globals= off

# $_GET[‘nama_variabel’] Variabel dari methode GET

$_POST[‘nama_variabel’] Variabel dari methode Post

$_COOKIE[‘nama_variabel’]Variabel dari metode COOKIE

$_SESSION[‘nama_variabel’] Variabel dari methode SESSION

$_FILES[‘nama_variabel’] Variabel dari file(upload file)

$_SERVER[‘nama_variabel’] Variabel dari server Environment

$_ENV[‘nama_variabel’] Variabel dari System Environment

Mengakali Register Globals

Sekarang bagai mana seandainya kita sudah tellanjur membuat aplikasi yang merujuk pada register globals=ON ? Seandainya menggunakan cara pada trik diatas juga bisa, yaitu mengganti $nama_variabel menjadi $_GET[‘nama_variabel’]namun tentu akan sulit mengidentifikasi masing-masing variabel, aplikasi yang berjumlah ratusan atau bahkan ribuan baris. Adapun salah satu solusinya adalah membuat seolah-olah variabel register globals=On .

1.cara pertama Dengan membuat sebuah file baru menggunakan editor notepad,lalu beri nama. .htaccess, isinya satu baris yaitu: php_flag register_globals on kemudian letakkan di folder htdocs dan www. Bila di server hosting biasanya di folder public_html. Contohnya penulis menggunakan xampp for windows maka file .htaccess diletakan di folder c:\xampp\htdocs

2.Cara kedua Apabila cara pertama belum berhasil silakan buat lagi sebuah file dengan nama php.ini yang berisi satu baris, yaitu : register_globals= on kemudian letakkan file tersebut (php.ini) di folder yang sama dengan .htaccess yang telah kita buat sebelumnya.

Note: mengakali register global menjadi on tidak dianjurkan karena lubang keamanan website anda tetap saja terbuka. So semua menjadi pilihan Anda.


 Reply Comment
 
  andy ( 06-May-2009 20:23:13 )

kbetulan w punya masalah yg sama nih. gw jadi pengen bikin register globalnya on. tapi tadi lw bilang, kalo lubang keamana website tetap terbuka. maksudnya tu ap?? apa kalo registry globalnya off lbih aman daripada ON  ?? tulung penjelasannya y

 
Your name
Website http://
Comment
   
Image verification code
Retype image code here