Manipulasi URL Web Biar Lebih Aman

:: Perubahan hasil manipulasi URL ::

:: Perubahan hasil manipulasi URL ::

Hufff,, lagi di Lab Daskom tercinta nih…
Lagi seneng, coz gak ada kuliah Jarkom.. Yey…..

Dan dari pada bengong di Lab,, mending disambi nulis2. Kebeneran ada bahan yang pengen ditulis nih… Sedikit sharing ilmu juga…

Jadi gini,, sekitar bulan Juli-Agustus taun 2008 kemaren,, gw ngejalanin yang namanya GELADI alias program magangnya anak ITTelkom di kantor Telkom (coba baca postingan gw sebelumnya ttg GELADI). Waktu itu gw geladi di kantor Kandatel Telkom Jogja. Sengaja gw milih Jogja,, coz it’s my fav city…. Nah,,, kerjaan gw selama geladi tuh ngerjain proyek yang dikasih sama pembimbing lapangan gw, Pak Pri (postingan gw sebelumnya ttg geladi juga ngebahas bapak keren yang satu ini). Proyek yang gw dapet tuh berbasis web, otomatis gw sama temen 1 tim banyak cari ilmu2 baru ttg PHP. Dan kebetulan emang gw tertariknya di bidang ini.

Nah,, disini gw pengen sharing salah satu yang gw dapet, yaitu cara untuk membuat URL web kita jadi lebih aman. Temen2 tau kan,, klo bikin web pake PHP pasti kita sering pake yang namanya GET untuk mengirimkan isi suatu variabel ke halaman lain. Efek klo kita pake GET itu adalah muncul URL yang berisikan isi dari GET yang kita kirim. Contohnya kayak gambar yang pertama di atas.

Ada cara untuk menyembunyikan GET tersebut. Jadinya kayak di gambar yag kedua. Jadi kita ubah URL-nya seolah2 kita kayak ngakses suatu direktori, bukan ngirim variabel GET. Mungkin beberapa dari temen2 ada yang bertanya2,, buat apa sih memanipulasi URL web kayak gitu?? ngerepotin aja…. Hmmmm, sebenernya gak ngerepotin kok,, coz caranya gampang.. Hehe.. Malah manipulasi URL kayak gitu menurut gw menguntungkan.

Yang pertama,, dengan manipulasi kayak gitu, orang yang akses web kita jadi gak tau ttg nilai2 yang dikirim antar page. Soalnya URL setelah dimanipulasi membuat seolah2 kita ngakses ke suatu direktori, bukannya ngirim suatu nilai variabel. Jadi itu mencegah orang lain yang mau ngapa2in web kita. Lebih aman lah intinya…

Yang kedua,, alamat URL yang udah dimanipulasi jadi lebih simpel. Dan itu membuat alamat URL web kita lebih friendly bagi search engine kayak Google. Jadi lebih gampang didetek sama Google., dibandingkan klo ada varibel GET di URL-nya.

Selain cuma perlu ngikutin langkah2 di bawah ini,, yang perlu diperhatiin adalah penggunaan absolut link untuk setiap file yang ada. Hindari penggunaan relatif link.
Contohnya :
– Absolut Link = http://www.xxx.com/files/isa.jpg >> pake yang ini.
– Relatif Link = ../files/isa.jpg

So,, langsung aja buat temen2 yang mau nyoba,, ikutin aja contoh di bawah ini (di kasus ini, server yang gw pake adalah XAMPP) :

*Bagian 1*

Masuk ke direktori di server lewat explorer.

C:\Program Files\xampp\apache\conf

Di situ ada file yang namanya httpd.conf. Buka file itu pake notepad, terus cari baris yang tulisannya

#LoadModule rewrite_module modules/mod_rewrite.so

Ilangin tanda pager (#) di baris itu. Jadinya

#LoadModule rewrite_module modules/mod_rewrite.so

Save file tadi, lalu restart server kamu. Setelah server di-restart, buka phpinfo() di localhost server kamu. Cari tulisan apache2handler dan liat tabel di bawahnya. Pada bagian Loaded Modules cari tulisan mod_rewrite (kayak yang ada di gambar di bawah). Klo gak ada coba perikasa lagi file httpd.conf yang tadi dan restart server lagi sampe tulisan itu muncul.

:: liat yang dilingkarin ::

:: liat yang dilingkarin ::

*Bagian 2*

Setelah itu, kita masuk ke langkah selanjutnya. Buat sebuah file yang namanya .htaccess di direktori web kamu. Tujuan dari file ini adalah untuk menetapkan sebuah rule baru. Rule in berfungsi untuk menggantikan URL ke bentuk yang lain. Singkatnya,,isi dari file .htaccess tadi adalah sintaks berikut (buka file-nya pake notepad) :

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^/?([A-Za-z]+)/?$ isa.php?isi=$1 [L]
</IfModule>

Klo udah,, di-save deh filenya….

*Bagian 3*

Selanjutnya,, untuk mendemokan hasilnya, temen2 coba deh bikin 2 halaman php sederhana. Halaman-1 (index.php) isinya adalah link ke halaman-2. Sedangakan halaman-2 (isa.php) isinya tulisan apa aja, terserah,, cuma buat demo doank kok….

Misal isi file pertama (index.php) :

<a href=”isa.php?isi=orenji”>LINK</a>

Isi file kedua (isa.php):

<?php
if ($_GET[‘isi’]==”orenji”) {
echo “Ini halaman yang dituju oleh link”;
}
?>

Jangan lupa pake varibel GET, jadi halaman-1 mengirimkan nilai ke halaman-2. Dan di halaman-2 akan ditampilkan tulisan hanya jika ada kiriman nilai dari halaman-1. Makanya di contohnya gw pake persyaratan IF.

Setelah bikin kedua file,, coba jalanin index.php abis itu klik di tulisan “LINK”. Pastinya akan menuju ke halaman-2 kan. Nah, abis itu coba liat URL di adddress bar browser kamu. Pasti tulisan URL-nya akan sama dengan Gambar-1 (http://localhost/isacoba/isa.php?isi=orenji).

NAH,, klo udah dicoba,, sekarang bagian intinya….
Coba buka lagi file index.php terus ubah baris

<a href=”isa.php?isi=orenji”>LINK</a>

menjadi

<a href=”http://&lt;? pola(‘orenji/’) ?>”>LINK</a>

dan di awal file index.php, tambahkan script di bawah ini :

<?php
function pola($end) {
$adr=$_SERVER[‘PHP_SELF’];
$alamat=explode(“/”,$adr);
$akhir=end($alamat);
$_RESULT=str_replace(“$akhir”,””,$adr);
echo $_SERVER[‘HTTP_HOST’],$_RESULT,$end;
?>

sehingga isi dari file index.php menjadi :

<?php
function pola($end) {
$adr=$_SERVER[‘PHP_SELF’];
$alamat=explode(“/”,$adr);
$akhir=end($alamat);
$_RESULT=str_replace(“$akhir”,””,$adr);
echo $_SERVER[‘HTTP_HOST’],$_RESULT,$end;
}
?>

<a href=”http://&lt;? pola(‘orenji/’) ?>”>LINK</a>

Setelah selesai, save dan coba jalanin lagi index.php lewat browser kamu. Sama seperti tadi,, coba klik lagi di tulisan “LINK”. Otomatis sama seperti tadi, halamnnya berganti ke halaman kedua kan??? Sama seperti tadi??? Memang sama,, tapi coba liat di address bar kamu. Apakah sama dengan yang tadi?? Pasti nggak sama,,, URL halaman kedua berubah jadi seperti di Gambar-2 (http://localhost/isacoba/orenji/).

Yey,, berhasil………

Itu dia sedikit tips dari gw,, semoga berguna,, dan selamat mencoba….. KLo masih ada beberapa yang hal yang salah ato membingungkan,, sori yah,, gw masi cupu….
Hehehehee…….

…. CMIIW

3 Responses to “Manipulasi URL Web Biar Lebih Aman”

  1. suryopranoto Says:

    Iya mod_rewrite mang salah satu cara buat nalangin sql injection, tapi module ini bisa jadi masalah, kenapa? Karena kita harus capek2 nulis parameter dan variabel apa aja yang harus direwrite. Tapi tetep aja kalo method yang diguna’in masih pake GET (masih vulnerable, karena nggak da proteksi). Lebih aman pake POST, tanya aja ma si Fajar, dia lebih ngeh masalah keamanan web aplikasi. Still cupu😳

  2. @mas suryo
    Iya sih…
    Emg kebiasaanku aj lbh suka pke GET utk ngrm nilai yg bkn dr form. Lbh simpel aj, tnggal tls URL-nya.. Biasanya pake POST cma buat form aja..
    He..

  3. ok…thank sy coba

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: