Rumahweb’s News, Article, and Tutorial of Web Development

  • Home
  • Kumpulan Artikel
  • Berlangganan melalui RSS

Register Globals

February 23rd, 2006  |  Published in Artikel & Tutorial, News, Web Programming  |  1 Comment

Kontroversi yang paling menarik pada PHP adalah dalam penggunaan register global. Apakah akan di set ON atau OFF. Kali ini kita akan melihat contoh kesalahan script yang dapat ditembus apabila Register Global di set ON.

Ketika ON, maka register_globals akan memasukkan variabel ke script yang telah dibuat (seperti pada permintaan melalui form html). Hal ini sesuai dengan fakta bahawa PHP tidak membutuhkan inisialisasi dari variable, dan itu berarti akan sangat mudah bagi kita untuk menulis koding yang tidak terjamin keamanannya. komunitas PHP memutuskan untuk mengeset nilai default register global menjadi OFF. Terkadang, jika di set on, maka orang2 akan terbiasa menggunakan variabel2 yang bahkan mereka sendiri tidak tahu darimana variabel tersebut datang.
Kita akan lihat salah satu contoh dari kesalahan scripting ketika status register global di set ON

<?php
// define $otorisasi = true jika otentifikasi dari user telah valid
if (authenticated_user()) {
$otorisasi = true;
}

/* Karena pada sebelumnya kita tidak menginisialisasikan $otorisasi = false, maka otorisasi tersebut akan dilakukan melalui register global
misalnya dari GET auth.php?otorisasi=1
maka semua orang akan dianggap telah memiliki ototentifikasi yang valid (1 = true) */
if ($otorisasi) {
include "admin/data.php";
}
?>

Jika register global = OFF, maka $otorisasi tidak akan dapat di set melalui request, dan script tersebut pun akan aman2 saja.

Contoh lain adalah pada penggunaan session. Register global = ON, maka kita dapat menggunakan variabel $username (contohnya) sebagai dasar dalam memulai session. tapi sekali lagi, apakah kita dapat mengetahui darimana nilai dari variabel tersebut dikirimkan?
Contoh session, tanpa memperdulikan status register global (ON atau OFF).
<?php
if (isset($_SESSION['username'])) {

echo "hallo {$_SESSION['username']";

} else {

echo "Halo, anda belum login. silahkan login terlebih dahulu";
}
?>

Anda dapat menggunakan script berikut untuk mengetahui status register globals pada website anda:

<?php
$reglob = ini_get('register_globals');
if($reglob == 1){
echo "register_globals ON";
} else {
echo "register_globals OFF";
}
?>
Jika register_globals di set ON, maka akan muncul tulisan "register_globals ON", dan sebaliknya.

Anda dapat mengubah nilai register_globals pada account Anda dengan menambahkan baris berikut pada file .htaccess

PLAIN TEXT
CODE:
  1. php_flag register_globals on

Bookmark Artikel Ini
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • BlinkList
  • feedmelinks
  • Furl
  • Ma.gnolia
  • MisterWong
  • Propeller
  • StumbleUpon
  • Technorati
  • TwitThis
  • YahooMyWeb
  • E-mail this story to a friend!
  • Live
  • Reddit
  • Slashdot

Responses

Feed Trackback Address
  1. majron says:

    January 8th, 2009 at 3:29 pm (#)

    cara merubah register_globals = off di mana bos kalau di joombla?
    aku cari2 gak ketemu? nama filenya apa?

Leave a Response

Popular Posts

  • PHP & MySQL: Tutorial Dasar
  • Berkenalan dengan PHP
  • Bagaimana Cara Mengupload Website ke Rumahweb dengan FTP?
  • Indikator Status Yahoo! Messenger
  • Membuat Form Kontak
  • Cara Upload MySQL Database
  • Membangun CMS dengan PHP [Bag.3]
  • Cara Membuat Google Sitemap
  • Instalasi OsCommerce melalui Fantastico
  • Cara Mengupload website ke Rumahweb melalui File Manager

Categories

  • Artikel & Tutorial
  • Fantastico Review
  • Gangguan
  • Manual Hosting
  • News
  • Promo
  • SEO
  • The Lounge
  • Web Design
  • Web Hosting
  • Web Programming

Tags

account Admin alamat rumahweb bahasa Blogspot bug Change Password cPanel core coredump cPanel Domain domain murah email Email Account error FTP gadget Google Hosting Hosting Indonesia hosting murah Hosting US Joomla linux Mail Oscommerce panduan php Plugin Promo rumahweb rumahweb jakarta Search Engine SEO setting Sitemap SMTP Setting SPAM template Themes tips Upload Website widget Wordpress


Rumahweb’s News, Article, and Tutorial of Web Development is using WordPress and Gridline Lite theme.