PHP Programming
Tips Keamanan, Register Global dalam PHP

Tips Keamanan, Register Global dalam PHP

Senin, 28 Mei 2007 06:12 WIB | 7.995 Views | Comments 2007-05-28 06:12:45

Sederhana memang jika dilihat fungsi utama dari register globals yang diseting menjadi 0 atau off yaitu membatasi pemberian variable kepada program yang kita buat, jadi PHP akan lebih selektif terhadap variable yang dikirimkan, apakah itu dari POST,GET atau yang lainnya. Pemograman dalam PHP pun jadinya sedikit berbeda, kita harus memberi tau bahwa variable yang akan diproses adalah dari POST misalnya. Baik, contoh sederhannya :

Code yang berjalan pada mode ON

<?
$jumlah = $bilsatu + $bildua;
echo $jumlah;
?>


Kita bisa lihat code diatas, code diatas bisa mendapat variable dari mana saja, bisa dari SESSION, POST misalkan diposting dari sebuah form dengan methode post, atau saya ketikan dari address bar http://localhost/namafile.php?bilsatu=1&bildua=7 maka semuanya akan menghasilkan proses yang sama, ini program sederhana, bagaimana kalau kasusnya dalam E-Commerce yang besar yang sudah menghitung uang.

Sekarang kita bedakan dengan yang satu ini,

<?
$jumlah = $_POST[bilsatu] + $_POST[bildua];
echo $jumlah;
?>


code diatas akan menghasilkan output apabila variable yang diberikan benar-benar dari POST.

Sekarang muncul masalah baru dimana rata-rata perusahaan hosting menset register globals kedalam mode on, alasanya karena banyak pengembang website yang belum menggunakan code yang berjalan dalam mode off, termasuk hosting yang saya kelola, hehe.

Untuk mengetahui apakah server kita register_globalsnya sudah Off atau belum kita bisa lihat dari phpinfo(). Nah, jika sahabat sekarang mulai mencoba mengkode dalam mode register_globalsnya OFF sedangkan hostingannya masih ON, sahabat bisa hubungi pengelolanya atau dengan menyelipkan beberapa code dalam pemograman kita yaitu dengan cara menambahkan tag berikut dalam awal file:


<?
ini_set('register_globals','0');
//baru code yang lain
?>


Namun cara itu sedikit kurang manjur, lebih manjur dengan memasukan file .htaccess kedalam folder root website kita, isinya bisa sederhana, tapi boleh yang lengkap lebih baik, seperti dibawah ini

file .htaccess :

DirectoryIndex index.php
Options +FollowSymLinks



AddType application/x-httpd-php .php

php_flag magic_quotes_gpc Off
php_flag track_vars On
php_flag register_globals Off
php_value include_path .


AddType application/x-httpd-php .php

php_flag magic_quotes_gpc Off
php_flag track_vars On
php_flag register_globals Off
php_value include_path .


AddType application/x-httpd-php .php

php_flag magic_quotes_gpc Off
php_flag track_vars On
php_flag register_globals Off
php_value include_path .


AddType application/x-httpd-php .php

php_flag magic_quotes_gpc Off
php_flag track_vars On
php_flag register_globals Off
php_value include_path .










AddType application/x-httpd-php .php

Action application/x-httpd-php /cgi-bin/php










Ada cara yang lebih mantap lagi, hanya saja sedikit sekali hosting yang memperbolehkan akses kedalam php.ini, yaitu merubah parameter register_globals menjadi Off di php.ini, secara umum terletak di /etc/php4/apache2/php.ini, jika sahabat pengguna XAMPP di windows maka letaknya ada di DrivelokasiXAMPPapachephpinphp.ini, kalau bingung buat saja dulu phpinfo dan lihat dimana letak php.ini nya, Selamat mencoba.


Baca atau Download PDF Adi Sumaryadi - Bicara IT dan Internet

#






Mungkin anda tertarik menonton video tentang Produk atau Services? - Belajar Bisnis Digital 3


PHP Programming Lainnya