Kita mengenal dua macam variable URL pada form processing dengan PHP, Post dan Get. Ciri khas variable GET adalah, tampaknya variable-variable tersebut pada aplikasi. Untuk itulah, beberapa aplikasi membuat skenario enkripsi pada variable-variable tersebut.
Untuk enkripsi yang dipakai pada praktik kali ini adalah enkripsi base64 dengan key, baik encode dan decode. Anda dapat membaca ulasannya disini: http://wp.me/pTjo8-eV
Berikut contoh aplikatifnya:
[sourcecode language=”php”]
//include skrip pada <a href="http://wp.me/pTjo8-eV">http://wp.me/pTjo8-eV</a>
include "enkripsi.php";
$key = "ini key rahasia loh";
$stringawal = "coba coba";
// 1.
// skenario satu, enkripsi nilai variable
// contoh: index.php?halaman=209831hksds098231
echo ‘index.php?halaman=’.base64_encrypt(‘halaman_download.php’,$key);
// 2.
// skenario dua, enkripsi variable dan valuenya
// contoh: index.php?kjslaks9=kjdsakdau7&kadjsa=kjahsda9
echo ‘index.php?’.base64_encrypt(‘halaman’).’=’.base64_encrypt(‘halaman_download.php’,$key).’&’.base64_encrypt(‘id’).’=’.base64_encrypt(‘12819’,$key);
// 3.
// skenario tiga, enkripsi utuh URL
// contoh: index.php?80182931jhalsda8980asda
echo ‘index.php?’.base64_encrypt(‘halaman=halaman_download.php&id=28321’,$key);
[/sourcecode]
Adapun pengolahan dari beberapa macam skenario enkripsi tersebut adalah:
[sourcecode language=”php”]
// 1.
// skenario satu
$_GET[‘halaman’] = base64_decrypt($_GET[‘halaman’]);
// 2.
// skenario dua
$key_variableget = array();
$key_variableget = array_keys($_GET);
//dekrip variable I
echo $key_variableget[0].’ hasil decrypt ‘.base64_decrypt($key_variableget,$key).’ ini adalah variable GET pertama dg isi ‘.$_GET[$key_variableget[0].’ atau hasil decryptnya ‘.base64_decrypt($_GET[$key_variableget[0],$key);
// 3.
// skenario tiga
// string parameter harus didecrypt
$parameter = base64_decrypt($_GET,$key);
// buat fungsi ekstraksi parameter
function extract_var($data){
$raw = explode("&",$variable);
for ($i=0; $i <= count($raw)-1; $i++)
{
$data = explode(‘=’, $raw[$i]);
$var[$data[0]] = $data[1];
}
return $var;
}
// ekstrak variable GET
$params = extract_var($_GET);
echo $params[0]; // atau echo $params[‘halaman’]
echo $params[1]; // atau echo $params[‘id’]
[/sourcecode]