Cara Enkripsi Parameter Dan Variabel Pada PHP
Kali ini yang akan kita kupas adalah cara mengenskripsi URL parameter agar lebih aman dari peretasan seperti XSS exploit, SQL Injection, dll seperti kebanyakan website – website besar.
Tentu yang harus kita lakukan pertama adalah membuat function. Berikut functionnya:
<?php
function encrypt( $q ) {
$cryptKey = 'qJB0rGtIn5UB1xG03efyCp';
$qEncoded = base64_encode( mcrypt_encrypt( MCRYPT_RIJNDAEL_256, md5( $cryptKey ), $q, MCRYPT_MODE_CBC, md5( md5( $cryptKey ) ) ) );
return( $qEncoded );
}
function decrypt( $q ) {
$cryptKey = 'qJB0rGtIn5UB1xG03efyCp';
$qDecoded = rtrim( mcrypt_decrypt( MCRYPT_RIJNDAEL_256, md5( $cryptKey ), base64_decode( $q ), MCRYPT_MODE_CBC, md5( md5( $cryptKey ) ) ), "\0");
return( $qDecoded );
}
?>
Jadi ada dua fungsi, yang satu encrypt() berfungsi untuk mengubah string menjadi tipe string md5 yang kemudian di encrypt kembali menjadi base64, dengan kata lain untuk melakukan double enkripsi. Fungsi yang satunya adalah kebalikan dari fungsi encrypt() yaitu untuk mengembalikan ke string semula
Berikut kode PHP-nya, tambahkan di bawah function tadi:
<?php
$id = "USR13";
$Encrypted = encrypt($id);
$Decrypted = decrypt($Encrypted);
?>
<a href="index.php?id=<?php echo $Encrypted?>">Enkrip</a>
<a href="index.php?id=<?php echo $Decrypted?>">Dekript</a>
Foto sebelum dan sesudah di enkrip:
thank's infonya bro :D
ReplyDeleteOke sama - sama, senang tutorial ini bisa membantu Anda.
Deletekok "undefined function encrypt()" padahal penamaan sudah benar
ReplyDeleteMaaf mas Yusuf, ada beberapa kesalahan ternyata, coba tambahkan tanda buka
DeleteSilakan ikuti lagi cara diatas sudah saya update. Terimakasih atas komentarnya
gan kode ini $cryptKey = 'qJB0rGtIn5UB1xG03efyCp'; fungsinya untuk apa ya
ReplyDelete$cryptKey itu fungsinya buat kombinasi enkripsi string biar nggak gampang di bobol Mas. Itu string 'qJB0rGtIn5UB1xG03efyCp' juga boleh diganti kok, terserah dengan apa yang kamu inginkan. Secara programatikal, string tersebut nantinya akan diencode diolah bersama string 'USR13'-nya. Keep learning gan :)
Deletethank's ya
ReplyDeleteFatal error: Uncaught Error: Call to undefined function mcrypt_encrypt() in C:\xampp\htdocs\xampp\New folder\index.php:18 Stack trace: #0 C:\xampp\htdocs\xampp\New folder\index.php(30): encrypt('USR13') #1 {main} thrown in C:\xampp\htdocs\xampp\New folder\index.php on line 18
ReplyDelete