|

Membuat Login yang aman itu mudah...

Keamanan menjadi sesuatu yang sangat dibutuhkan bagi sebuah sistem online, ini digunakan untuk mengantisipasi kebocoran data yang ada pada website kita ataupun untuk memisahkan privilages (hak user) bagi setiap user yang menunjungi websie kita.

Tidak ada sistem yang 1000% aman dari serangan para hacker dan para penjahat di dunia maya ini, kita bisa untuk mengurangi resiko kebocoran data tapi tidak untuk sepenuhnya aman dari ancaman tersebut . Naah.. maka dari itu sobat jenaka sekarang kita kan membahasa beberapa metode keamanan pada php, berikut beberapa metodenya :

1. Encode/Decode

Dala mpembahasan pertama ini fungsi yang digunakan dalam metode encode/decode adalah base64_encode dan base64_decode. Keuntungannya tentu saja password yang kita encode bisa dikembalikan pada karakter semula melalui metode decode. Namun teknik ini sudah jarang sekali digunakan dalam pengamanan password mengingat sangat rentan sekali tingkat keamanannya. Makanya, belakangan ini teknik Encode/Decode mulai ditinggalkan atau digunakan untuk kombinasi dengan teknik lain. Berikut ialah contohnya:
 

<?php

$password = 'Sijenaka';

//Encode Password
$encode = base64_encode($password);

//Decode Password
$decode = base64_decode($encode);
print $encode."\n";
print $decode;

?>

2. Hashing

Pada PHP, ada beberapa fitur yang mampu mengubah sebuah karakter apapun menjadi kata acak. Teknik ini dinamakan Hashing. Fungsi-fungsi hashing yang sering digunakan adalah MD5, SHA1, SHA256, dan CRC32  (lebih lengkapnya, bisa anda lihat pada halaman ini). Kelemahannya adalah, sistem hashing ini bersifat one-way. Artinya, kita tidak bisa mengembalikan karakter yang telah kita hash pada karakter awal. Berikut contoh penggunaan hashing dengan PHP.

<?php
$password = 'Sijenaka';

//Teknik MD5
print md5($password);

//Teknik SHA1
print sha1($password);

//Teknik CRC32
print crc32($password);
?> 

3. Encrypt/Decrypt

Teknik berikut ini sangat direkomendasikan karena sistem yang digunakan berupa teknik encrypt/decrypt. Artinya, password yang kita encrypt dapat dikembalikan kembali pada karakter awal. Teknik ini juga sudah banyak diterapkan oleh banyak web developer untuk memudahkan user dalam hal password recovery serta peningkatan keamanan yang lebih tinggi. Fungsi yang digunakan pada PHP hanya mcrypt, dan uniknya ada banyak metode enkripsi atau cipher yang bisa kita gunakan. Seperti MCRYPT_3DES, MCRYPT_BLOWFISH, MCRYPT_RIJNDAEL_192 dan masih banyak lagi.

<?php
    /* Open the cipher */
    $td = mcrypt_module_open('rijndael-256', '', 'ofb', '');

    /* Create the IV and determine the keysize length, use MCRYPT_RAND
     * on Windows instead */
    $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_DEV_RANDOM);
    $ks = mcrypt_enc_get_key_size($td);

    /* Create key */
    $key = substr(md5('very secret key'), 0, $ks);

    /* Intialize encryption */
    mcrypt_generic_init($td, $key, $iv);

    /* Encrypt data */
    $encrypted = mcrypt_generic($td, 'This is very important data');

    /* Terminate encryption handler */
    mcrypt_generic_deinit($td);

    /* Initialize encryption module for decryption */
    mcrypt_generic_init($td, $key, $iv);

    /* Decrypt encrypted string */
    $decrypted = mdecrypt_generic($td, $encrypted);

    /* Terminate decryption handle and close module */
    mcrypt_generic_deinit($td);
    mcrypt_module_close($td);

    /* Show string */
    echo trim($decrypted) . "\n";
?>

Dari beberapa metode yang ada sih Sijenaka lebih suka dengan penggunaan dari md5 karna terlihat simple and easy tapi tergantung juga bagi kebutuhan sobat jenaka semua, kalau mau membuat website yang complicated dengan data yang sangat secret Sijenaka saranin sih pake metode encryp/decrypt karna itu lebih aman :), oke selanjutnya mulai membuat aplikasinya ...

Author

Written by Admin

Muhamad Wahyu Salim adalah seorang programmer it yang memiliki banyak pengalaman dibidangnya, ia mulai menjadi seorang blogger sejak tahun 2009 , telah banyak karya yang telah dihasilkannya,
untuk lebih mengenalnya follow @weh_wahyu atau fb : Muhamad wahyu.

Komentar Facebook
0 Komentar Blogger

0 comments: