Pencarian

Minggu, 31 Januari 2010

Recovery Password Yahoo yang cukup berbahaya

Ketika membuat email baik di yahoomail atau gmail, kita selalu di minta untuk mengisi pertanyaan rahasia (Secret Question).

Apakah pertanyaan rahasia ini ?
Pertanyaan rahasia ini berguna untuk mereset (mengatur ulang) password account email kita jika suatu saat kita lupa password tersebut.

Saya pernah mencoba pada salah satu account di yahoo, me-reset password email melalui Pertanyaan Rahasia (Secret Question) dan Berhasil *banyak sekali pengguna menggunakan Secret Question yang gampang ditebak.

dan ketika masuk ke account tersebut lalu saya mencoba mengganti Secret Question dengan pertanyaan dan jawaban yang lain dan mencoba me-reset kembali account tersebut.

Sebelumnya untuk diketahui, ada 3 step yang harus dilalui untuk me-reset kembali account email di yahoo.
1. Memasukkan Email dan kode anti spam
2. Pilihan untuk mereset, bisa melalui secondary email atau pertanyaan rahasia.
3. Jawaban untuk pertanyaan rahasia (terdapat 2 pertanyaan yang harus sesuai jawabannya) *jika pada step 2 tidak memili secondary email.

Yang ANEHNYA jika kita salah memasukkan jawaban maka muncul pilihan (Ini bukan pertanyaan saya)


dan ketika saya klik pilihan (Ini bukan pertanyaan saya) tersebut maka pertanyaan rahasia yang lama kembali muncul. dan saya masih bisa me-reset password account tersebut melalui pertanyaan rahasia yang lama tadi dan jawaban yang lama juga. lalu apa gunanya saya mengganti Pertanyaan Rahasia sebelumnya ?????

Saya pun tidak mengetahui jawabannya :D, karena menurut saya ada banyak sekali kemungkinannya.

Mengapa yahoo masih tetap menyimpan pertanyaan rahasia saya yang lama (pertanyaan yang dibuat sewaktu membuat email yahoo pertama kali) padahal saya sudah menganti pertanyaan serta jawaban itu (pada login sebelumnya),

Apakah memang seperti ini keamanan yang diterapkan oleh yahoo, ataukah ada pengaturan yang salah pada account saya (karena bukan pengguna yahoo aktif, saya pengguna gmail) :D
atau mungkin browser saya yang bermasalah (walaupun saya mencoba di browser lain juga) ??

ataukah pada proses "Update Data Set Ulang sandi" ternyata pertanyaan rahasia lama (yang pertama kali pada waktu buat account) tetap ada, jadi proses nya bukan update melainkan insert data baru dan pertanyaan yang lama tetap dijadikan Primay Secret Question (berantakan bahasa gw :)) :)) )
ataukan bug ? ataukah ini, itu... who knows ? Yang jelas hal tersebut sangat berbahaya menurut saya.

Dengan marak nya Hacking account Facebook menggunakan cara reset password, hal diatas tentu sangat berbahaya. Ketika seseorang bisa menebak Pertanyaan Rahasia kamu maka selamanya dia bisa mengakses account yahoo kamu walaupun kamu sudah mengganti pertanyaan rahasia tersebut, karena pada kenyataannya pertanyaan rahasia yang pertama tidak pernah diganti.

Yang makin parah, begitu banyak para Facebookers yang lupa password email nya sendiri (cuma ingat password Facebook aja).
Ketika seseorang sudah bisa mendapatkan account email yang kita gunakan untuk mendaftar di Facebook maka orang itu juga bisa dengan mudah mereset password Facebook kita yang juga butuh konfirmasi dari email.

Lalu masih amankah menggunakan email di yahoo...???
Waowww, tentu saja IYAAA, karena yahoo itu perusahaan besar :D.

Saya bukan pakar keamanan tapi menurut saya sendiri, keamanan itu juga tergantung dari end user (kita sebagai pengguna), karena pada saat membuat account baik di yahoo atau google, kita selalu di ingatkan kira2 seperti ini:
Untuk membuat password:
Catatan: Untuk melindungi account Anda dengan lebih baik, pastikan kata sandi mudah Anda ingat namun sulit untuk ditebak orang lain. Jangan memberitahukan kata sandi kepada siapa pun, dan jangan sekali-kali menggunakan lagi kata sandi yang pernah digunakan sebelumnya. Demi keamanan, panjang kata sandi baru harus minimal enam karakter. Kata sandi yang kuat adalah yang berisi kombinasi huruf besar dan huruf kecil (ingatlah bahwa kata sandi Anda membedakan huruf besar/kecil), angka, dan karakter khusus seperti +, ?, dan *.

dan untuk "Pertanyaan Rahasia"
Pastikan jawaban Anda adalah mudah diingat untuk Anda, tetapi sulit bagi orang lain untuk menebak!


dan jika ternyata pada suatu saat Account kita di hack karena menggunakan weak password (password yang lemah) seperti tanggal, bulan, tahun lahir lalu juga menggunakan Pertanyaan Rahasia yang mudah ditebak maka tidak ada pihak lain yang bisa disalahkan selain diri sendiri =)).

Lalu bagaimana cara mengamankan email dan Facebook saya dari para Attacker (Cracker) ????
Saya kira sudah terlalu banyak tulisan yang bisa kamu cari melalui http://www.google.co.id :D

*Tulisan ini saya buat setelah saya mencoba sendiri pada account xxx@yahoo.co.id dan setelah beberapa kali mengganti Pertanyaan Rahasia ternyata tetap sia-sia karena menggunakan Pertanyaan Rahasia yang lama saya tetap bisa me-reset account tersebut.
dan Tulisan ini juga tidak bermaksud untuk menjatuhkan pihak-pihak tertentu, Just Share.... :D

Jumat, 15 Januari 2010

Missed

Miss You
Teringat di suatu masa
Dulu aku selalu di manja
Selalu daku terkenang
Dulu diriku selalu di sayang

Gelap gulita seribu malam
Namun cintamu nan terang benderang
Berjuta emas beribu intan
Kasih sayangmu tak akan terlupakan

Rinduku di pelukanmu
Dan menangis di pangkuanmu
Lembut belaian tanganmu
Damai diriku bila di sisimu

Sembah sujudku padamu oh ibu
Ampunkan dosa dan kekhilafanku
Sepanjang jalan kasih sayangmu
Syurga itu di telapak kakimu

Kini kau telah pergi jauh
Menghadap ILLAHI RABBI
Di pusara ini ku menangis

Jasa dan pengorbananmu
Abadi dalam hatiku
Ku panjatkan do’a untukmu

Sebelum ku berbakti engkau telah pergi
Semoga di masyhar nanti kita berjumpa lagi....

“Dan rendahkanlah dirimu terhadap mereka berdua dengan penuh kesayangan lalu berdo'a kepada Allah Yang Agung:
“Ya Tuhanku! Ampunilah aku, ibu bapakku dan kasihilah mereka keduanya, sebagaimana mereka berdua telah mengasihi dan mendidik aku waktu kecil.”

Minggu, 10 Januari 2010

Install Kamus Stardict di linux ubuntu

Cara Install Kamus stardict di ubuntu
yang ini sering lupa, mending di catat di blog ajah :D

Setelah install Stardict
a3m-nix@logic-server:~/ sudo apt-get install stardict


trus donlod jg transalate untuk indonesia to english dan english to indonesia disini
http://www.stardict.org/downloadit.php?file=stardict-quick_eng-ind-2.4.2.tar.bz2
http://www.stardict.org/downloadit.php?file=stardict-quick_ind-eng-2.4.2.tar.bz2

atau kalo mau pilih-pilih bahasa lain, silahkan lihat2 disini dah :D

http://sourceforge.net/projects/stardict/files/

setelah itu tinggal ekstrak file hasil donlod tadi dengan perintah :
a3m-nix@logic-server:~/linux-family/aplikasi-linux/dict$ sudo tar -xjvf stardict-quick_eng-ind-2.4.2.tar.bz2 -C /usr/share/stardict/dic/
[sudo] password for a3m-nix:
stardict-quick_eng-ind-2.4.2/
stardict-quick_eng-ind-2.4.2/quick_english-indonesian.dict.dz
stardict-quick_eng-ind-2.4.2/quick_english-indonesian.idx
stardict-quick_eng-ind-2.4.2/quick_english-indonesian.ifo
a3m-nix@logic-server:~/linux-family/aplikasi-linux/dict$ sudo tar -xjvf stardict-quick_ind-eng-2.4.2.tar.bz2 -C /usr/share/stardict/dic/
stardict-quick_ind-eng-2.4.2/
stardict-quick_ind-eng-2.4.2/quick_indonesian-english.dict.dz
stardict-quick_ind-eng-2.4.2/quick_indonesian-english.idx
stardict-quick_ind-eng-2.4.2/quick_indonesian-english.ifo
a3m-nix@logic-server:~/linux-family/aplikasi-linux/dict$

Selesai dah, bisa transalate-transalate with Nux, nggak kalah sama Dictionary on windows neh heeee....

Selasa, 05 Januari 2010

Upgrade Ubuntu Jaunty ke Karmic antara Desktop dan Alternate

Upgrade Linux ubuntu 9.04 jaunty menjadi ubuntu 9.10 karmic koala
Tidak banyak permasalahan yang saya temui setelah proses upgrade ke karmic koala selesai.
Awalnya saya tidak terpikir untuk upgrade ke karmic karena saya sudah sangat merasa nyaman menggunakan Jaunty Jackalope. tapi setelah dipikir2 dan mendengar masukan dari teman-teman akhirnya go to Karmic juga.

Satu hal yang cukup membingungkan saya pada saat proses upgrade adalah file ISO linux ubuntu.

Saya ingin upgrade melalui file iso karena waktu itu koneksi internet saya tidak cukup cepat untuk upgrade via Internet, dan kebetulan ada ISO Linux nya.
setelah melihat beberapa referensi, maka saya mencoba langkah2 berikut:
1. Mount file iso dengan perintah sudo mount -t iso9660 /media/data/ubuntu-9.10-desktop-i386.iso /media/cdrom0
2. setelah itu jalankan perintah gksu "sh /cdrom0/cdromupgrade" melalui terminal atau dengan menekan Alt+F2.

beberapa kali saya coba cara diatas tidak menghasilkan apa-apa.
dan ternyata oh ternyata, saya salah mengartikan file iso yang digunakan untuk proses upgrade.
Dari perintah kedua saya simpulkan harusnya ada file yang bernama cdromupgrade pada ISO nya (drive cdrom) dan ternyata pada ISO saya(driver cdrom) file tersebut tidak ada (kan bukan alternate :D ).

akhirnya mulailah saya mencari tau apa perbedaan antara tiap CD Distro linux Ubuntu yang dari dulu juga bikin saya bingung, koq ada alternate trus desktop gt.

dan rupanya
Desktop itu berupa Live CD sehingga bisa dipakai kalau mau mencoba-coba, menjalankan ubuntu tanpa harus instalasi. Untuk menginstall menggunakan CD Desktop juga membutuhkan RAM yang besar karena pada proses instalasi CD Desktop juga menggunakan GUI, yang cukup menghabiskan resource memory.

Sedangkan versi Alternate itu bukan berupa Live CD sehingga tidak bisa dipakai untuk coba-coba. Installer yang disertakan merupakan installer berbasis teks sehingga lebih cocok jika ingin menginstal di komputer dg spesifikasi rendah. CD Installer juga berisi paket-paket *.deb mentah dan bisa dipakai untuk upgrade.

Yapz, begitulah referer yang saya dapat di internet, proses upgrade yang saya lakukan menggunakan CD versi Desktop dan wajar saja tidak bisa (mungkin ada yang bisa :D).

Dan setelah koneksi internet saya cukup cepat, akhirnya saya memutuskan untuk download ubuntu versi alternate yang memakan waktu hampir 1 jam :D (nambah2 koleksi ISO).

lalu mulailah proses upgrade, saya tinggal merubah perintah pertama menjadi
sudo mount -t iso9660 /media/data/ubuntu-9.10-alternate-i386.iso /media/cdrom0 -o loop

dilanjutkan dengan
gksu "sh /cdrom/cdromupgrade"


dan tinggal mengikuti langkah-langkah berikutnya.
dikarenakan koneksi internet saya sedang Ok, maka proses upgrade juga langsung melalui repo online, Full Upgrade dah :D

Setelah selesai, tinggal restart dan ditambah rasa cemas sedikit :) dan rupanya hanya terdapat sedikit permasalahan yaitu pada Driver VGA Ge Force 7300 GS yang kelihatannya belum berkenalan dengan kernel yang baru.
Sebelum menginstall driver NVIDIA, saya hapus terlebih dahulu driver NVIDIA yang ada dengan cara masuk ke mode text
Alt+Ctrl+F2
login dan hapus dengan perintah nvidia-uninstall
setelah itu matikan services gdm sudo /etc/init.d/gdm stop
lalu install driver NVIDIA versi terbaru
sudo sh NVIDIA-Linux-x86-190.42-pkg1.run

dan ikuti langkah berikutnya.
dan jalankan kembali service gdm sudo /etc/init.d/gdm start
dan Welcome Karmic koala :D

Tidak terdapat banyak perubahan, dan yang paling saya sukai adalah Ubuntu Software Center yang sangat memudahkan kita dalam memilih aplikasi berdasarkan kriteria.

Pada proses Upgrade ternyata juga ikut menghapus mysql-server milik saya dan saya harus install lagi, untung koneksi internet idle di 248 KB/s heehee...

Pada Network Manager juga terdapat perubahan yaitu icon wireless yang menggunakan bar, jadi mirip2 win gt :D

dan pada Authentication, tidak saya temukan remember this session yang artinya saya harus terus memasukan password jika ingin membuka drive atau melakukan administrative system yang membutuhkan priviledge root (ntar pengen di ubah biar nggak perlu pake authen lagi dah :D).

Versi firefox terbaru di karmic juga terasa lebih stabil dari sebelumnya.
dan ada empathy untuk internet messenger walau saya tetap setia dengan pidgin.

Untuk theme desktop saya lebih prefer pada theme linux mint, yang saat ini mata saya cukup akrab dengan warna hijaunya. dan login screen serta usplash saya ganti karena saya senang dengan kesederhanaan usplash milik karmic, sederhana tapi terkesan mewah.

Walaupun baru beberapa jam mencoba karmic, tapi saya merasakan cukup stabil dan nyaman, tentunya dengan karmic koala full upgrade :D

dan akhirnya bye-bye Jaunty jackalope, Welcome Ubuntu 9.10 Karmic koala

Saya cukup ragu untuk melakukan upgrade karena pernah mendengar kira-kira seperti ini:
"Tidak semua teknologi baru itu lebih bagus dari yang lama."
Lalu saya putuskan untuk upgrade setelah berberapa hari mempertimbangkan perkataan seorang yang telah lama menggunakan linux ubuntu (Thanks pak mauladi :D ) :
"Apalah artinya sedikit perubahan dibandingkan stabilitas yang akan kita rasakan"

Membuat ID Otomatis dengan PHP

Membuat ID otomatis dengan PHP
Pada umumnya untuk urusan ID atau Primary Key pada tabel di mysql kita biasa menggunakan Auto Increment(A.I) dimana dengan A.I tersebut id atau key yang di inginkan akan bertambah otomatis setiap kali record bertambah.

Namun, pada kasus2 lain seperti NIM (No Induk Mahasiswa), NIP atau sejenisnya sering kita jumpai format seperti ini : 8020070233 dimana setiap angka mempunyai arti masing2:
80 : sebagai identifikasi jurusan
2007 : Tahun pendaftaran
0233 : jumlah mahasiswa

dari format diatas, jumlah maksimal mahasiswa yang akan mendaftar ditentukan dengan 4 digit, artinya tidak bisa lebih dari 9999 orang. Untuk kasus seperti NIM diatas, tentu tidak bisa menggunakan fungsi A.I pada MySql, maka dari perlu dibuat suatu fungsi agar NIM tersebut bisa bertambah secara otomatis setiap kali data di inputkan.

langsung ke pokok permasalah. Untuk kasus NIM seperti 8020070233, kita pisahkan terlebih dahulu NIM tersebut dengan fungsi SUBSTR
$id_old = 8020070233;
$jurusan = substr($id_old,0,2); //mengambil angka jurusannya
$jumlah_mhs = substr($id_old,6,4); //mengambil angka jumlah mahasiswa
$tahun = date("Y"); //mengambil tahun dari sistem.

setelah itu, tambahkan jumlah mahasiswa dengan 1
$hasil = $jumlah_mhs + 1;
lalu hitung jumlah karakter dari $hasil dan simpan di $pk_n
$pk_n = strlen($hasil);


langkah berikutnya adalah membuat kondisi penambahan 0 di belakang $hasil berdasarkan jumlah karakter hasil penambahan ($pk_n).
if($pk_n == 1){
$jumlah_mhs = "000".$hasil;
}else if($pk_n == 2){
$jumlah_mhs = "00".$hasil;
}else if($pk_n == 3){
$jumlah_mhs = "0".$hasil;
}else if($pk_n == 4){
$jumlah_mhs = $hasil;
}else{
$jumlah_mhs = "Data Error";
}

Dari kondisi diatas dapat diartikan seperti ini jika jumlah karakternya ($pk_n) = 1 maka jumlah mahasiswa 000 digabungkan dengan $hasil yang berarti jika $hasil adalah 2 maka $jumlah_mhs berisi 0002.

dan jika $hasil=10, berarti $pk_n = 2 (2 karakter) maka $jumlah_mhs = 0010 dst sampai dengan kondisi terakhir dimana jika jumlah karatkter ($pk_n) tidak 1,2,3 atau 4 berarti $jumlah_mhs=Data Error.

lalu langkah terakhir kita gabungkan kembali jurusan, tahun dan jumlah mahasiswa
$primary = $jurusan.$tahun.$jumlah_mhs;

dan didapatkanlah ID baru setelah ditambah 1 dari id yang lama.

Untuk lebih jelasnya, silahkan coba script dibawah:
file index.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>@nix</title>
</head>
<body>
<form id="form1" name="form1" method="post" action="proses.php">
<table width="657" border="0">
<tr>
<td width="122">Nama</td>
<td width="519"><input name="nama" type="text" id="nama" /></td>
</tr>
<tr>
<td>Jurusan</td>
<td><select name="jurusan" id="jurusan">
<option value="80">TI</option>
<option value="40">SK</option>
<option value="30">SI</option>
</select>
</td>
</tr>
<tr>
<td>Alamat</td>
<td><label>
<textarea name="alamat" id="alamat"></textarea>
</label></td>
</tr>
<tr>
<td><input type="submit" name="Submit" value="Simpan" /></td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
</table>
</form>
</body>
</html>





file proses.php
<?php

include "function.php";

mysql_connect("localhost","root","");

mysql_select_db("test");

$nama = $_POST['nama'];

$jur = $_POST['jurusan'];

$alamat = $_POST['alamat'];

$tahun = date("Y");

$query = mysql_query("select * from registrasi where

substr(nim,1,2) = '$jur' order by nim desc");

$data = mysql_fetch_assoc($query);

$id_old = $data['nim'];

if(mysql_num_rows($query) == 0){

$primary = $jur.$tahun."0001";

}else{

$primary = getId($id_old);

}

$qinput = mysql_query("insert into registrasi (nim,nama,alamat) values

('$primary','$nama','$alamat')");

if($qinput){

header("location:./view.php");

exit;

}

?>


file function.php
<?php

function getId($id_old){

$jurusan = substr($id_old,0,2);

$tahun = date("Y");

$jumlah_mhs = substr($id_old,6,4);

$hasil = $jumlah_mhs + 1;

$pk_n = strlen($hasil);

if($pk_n == 1){

$jumlah_mhs = "000".$hasil;

}else if($pk_n == 2){

$jumlah_mhs = "00".$hasil;

}else if($pk_n == 3){

$jumlah_mhs = "0".$hasil;

}else if($pk_n == 4){

$jumlah_mhs = $hasil;

}else{

$jumlah_mhs = "Data Error";

}

return $primary = $jurusan.$tahun.$jumlah_mhs;

}

?>


file view.php

<?php

include "koneksi.php";

$query = mysql_query("select * from registrasi where

substr(nim,1,2) = '40' order by nim desc");

echo "<h2>Jurusan SK</h2>";

while($data = mysql_fetch_assoc($query)){

echo "<br />Nim : $data[nim]";

echo "<br />Nama : $data[nama]";

echo "<br />Alamat : $data[alamat]";

echo "<hr color=blue>";

}


$query = mysql_query("select * from registrasi where

substr(nim,1,2) = '80' order by nim desc");

echo "<h2>Jurusan TI</h2>";

while($data = mysql_fetch_assoc($query)){

echo "<br />Nim : $data[nim]";

echo "<br />Nama : $data[nama]";

echo "<br />Alamat : $data[alamat]";

echo "<hr color=blue>";

}$query = mysql_query("select * from registrasi where

substr(nim,1,2) = '30' order by nim desc");

echo "<h2>Jurusan SI</h2>";

while($data = mysql_fetch_assoc($query)){

echo "<br />Nim : $data[nim]";

echo "<br />Nama : $data[nama]";

echo "<br />Alamat : $data[alamat]";

echo "<hr color=blue>";

}

?>



Pada contoh yang saya buat diatas, untuk setiap jurusan diwakilkan dengan angka.
80 : Untuk Jurusan TI
40 : Untuk Jurusan SK
30 : Untuk Jurusan SI

Jika pada kasus lain, diperlukan id seperti ini 80-2009-0002 atau lc/produk/01 maka cara nya sama saja, hanya saja kita lebih mudah menggunakan fungsi explode untuk memisahkan tiap karakter.
Semoga bermanfaat :D