Rabu, 24 November 2010

php/MySQL

PHP/MySQL - Membuat Security Number dengan menggunakan GD Library pada PHP

Artikel PHP/MySQL

  • Home
    • » PHP/MySQL
      • » Membuat Security Number dengan menggunakan GD Library pada PHP

Membuat Security Number dengan menggunakan GD Library pada PHP

Feb 28 2008
Ditulis oleh Dhimas Ronggobramantyo
Kategori: PHP/MySQL
Dibaca 10958 kali
Anda pernah melihat angka-angka aneh yang dicorat-coret atau melengkung-lengkung ketika ingin mengisi form? Dan anda diharuskan untuk mengisi angka yang tertera disitu. Atau pada bagian komentar dibawah artikel ini anda juga akan menemukan security number. Saya banyak menerima email dan komentar bagaimana cara membuatnya, nah kali ini saya akan mengajarkan cara membuat security number.
Saya hanya mengajarkan bagaimana membuat Security Number ini, saya tidak akan mengajarkan bagaimana memasangnya di Wordpress, blogspot dan CMS-CMS lainnya. Terus terang pengetahuna saya mengenai Wordpress, blogspot, Jomlaa dan CMS-CMS lainnya hampir tidak tahu apa-apa. Terakhir kali saya memakai CMS sekitar tahun 2001 an waktu itu saya pakai PHPNuke, jadi saya tidak tahu apa-apa tentang CMS jaman sekarang. Tapi saya yakin CMS seperti Wordpress dan kawan-kawan pasti memiliki cara penanggulangan SPAM yang lebih baik daripada security number.

Apa sih gunanya Security Number?

Tentu saja untuk menanggulangi SPAM. Jika dalam website anda memiliki buku tamu atau sistem komentar yang tidak mengharuskan orang-orang untuk login untuk mengisinya, maka 100% website anda akan kena spam. Apa itu spam? jika anda menerima komentar yang tidak diinginkan pada buku tamu atau sistem komentar anda, maka anda bisa menyebutkan itu sebagai SPAM.
Para spammers melakukan SPAM biasanya dengan menggunakan software otomatis (istilah kerennya: bots) yang secara otomatis mengisi form-form yang ada di internet. Nah untuk mencegah software tersebut mengisi form, kita perlu menambahkan sebuah field yang hanya bisa diisi jika pengisinya adalah manusia. Bagaimana caranya? Dengan membuat sebuah angka acak yang ditampilkan sebagai gambar, nah kita diharuskan mengisi angka tersebut. Bagi kita mudah saja untuk mengisi angka, karena kita dapat dengan mudah melihatnya, tapi bagi software otomatis tadi tentu susah untuk membaca angka tersebut.
Software-software spammers sekarang sudah sangat canggih dan sudah mampu membaca security number!!!

CAPTCHA

Apa itu CAPTCHA? CAPTCHA merupakan sebuah program untuk menggenerate andka yang sulit dikenali oleh bots tadi tapi mudah dikenali oleh manusia. Algoritma CAPTCHA yang paling bagus diciptakan oleh Carnegie Mellon University, sayangnya algoritma CAPTCHA merupakan trademark dari Carnegie Mellon University dan algoritma tersebut tidak bisa sembarangan digunakan, algoritma tersebut digunakan oleh Yahoo, Google dan situs-situs besar lainnya. Tapi kita jangan menyerah, jika anda jago anda bisa membuat algoritma sendiri :)
Atau kita bisa juga menggunakan images, jadi kita memiliki kumpulan gambar huruf-huruf dan angka yang berbeda-beda, nah gambar tersebut kita tampilkan secara acak. Atau menggunakan cara saya, cara yang paling sederhana dan nggak perlu banyak mikir :) yaitu menggenerate angka acak biasa kemudian diatasnya kita coret-coret dengan acak. Seperti yang terlihat pada sistem komentar dibawah artikel ini, sangat sederhana :D

Memanfaatkan GD Library dan Session

Untuk membuat gambar didalam PHP kita tentu saja memanfaatkan GD Library. Saya tidak akan mengajarkan GD Library disini, silahkan anda lihat artikel saya yang lalu tentang dasar-dasar GD Library. Dan kita akan memanfaatkan sesssion untuk mengirim nilai pada security number tersebut agar lebih aman. Saya banyak melihat website yang menggunakan security number tetapi jawaban dari angka tersebut tersimpan di form, bisanya disimpan didalam <input type="hidden" />. Atau ada juga yang disimpan didalam link pada browsernya. Kalau begitu sama saja bohong, kita sama saja membuat security number plus jawaban dari angka tersebut. Nah, disini kita akan mengirim jawabannya dengan menggunakan Session, paling tidak agar terenkripsi lah. Oke tidak usah berlama-lama, sekarang anda coba lihat dulu seperti apa hasilnya yang akan kita buat disini.
Pertama-tama kita buat script PHP untuk menggenerate angkanya dulu, buatlah file capcay.php dan isilah dengan kode berikut ini:
<?
$sid=trim($HTTP_GET_VARS["sid"]);
session_id($sid);
session_start();
$angka = $HTTP_SESSION_VARS["angka"];
mt_srand((double)microtime()*1000000);
$jarak1 = mt_rand(0,10);
$jarak2 = mt_rand(0,10);
$jarak3 = mt_rand(0,10);
$jarak4 = mt_rand(0,10);
$ujung1 = mt_rand(0,60);
$ujung2 = mt_rand(0,60);
$ujung3 = mt_rand(0,60);
$ujung4 = mt_rand(0,60);
$ujung5 = mt_rand(0,60);
$ujung6 = mt_rand(0,60);
$ujung7 = mt_rand(0,60);
$ujung8 = mt_rand(0,60);
$warna1 = mt_rand(0,150);
$warna2 = mt_rand(0,150);
$warna3 = mt_rand(0,150);
$warna4 = mt_rand(0,150);
$warna5 = mt_rand(0,150);
$warna6 = mt_rand(0,150);
$height = 13; 
$width = 62; 
$im = ImageCreate($width, $height); 
$background = ImageColorAllocate($im, 255,255,255); 
$warnagaris = ImageColorAllocate($im, $warna1, $warna2, $warna3); 
$warnaangka = ImageColorAllocate($im, $warna4, $warna5, $warna6); 
ImageFill($im, 0, 0, $background); 
ImageLine($im, 0, $jarak1, $ujung1, $ujung2, $warnagaris); 
ImageLine($im, 0, $jarak2, $ujung3, $ujung4, $warnagaris); 
ImageLine($im, 60, $jarak3, $ujung5, $ujung6, $warnagaris); 
ImageLine($im, 60, $jarak4, $ujung7, $ujung8, $warnagaris); 
ImageString ($im, 6, 10, 0,  $angka, $warnaangka);
Imagejpeg($im); 
?>
Itu nanti akan menghasilkan images dalam format .jpg, tenang saja akan saya jelaskan nanti, sekarang buatlah file form.php dan isilah dengan kode berikut ini:
<?
$sid = session_id();
if(!$sid){
session_start();
$sid = session_id();
}
if ($submit) {
  if ($code!=$angka) {
    echo "Security number salah.<br />";
  } else {
    echo "Selamat Anda benar menuliskan angkanya";
  }
}
?>
<h4>Kirim Komentar:</h4>
<form method="post" action="<?=$PHP_SELF?>">
<p>
Security Number: <input type="text" name="code" class="textbox"  />
<?
mt_srand((double)microtime()*1000000);
$angka1 = mt_rand(0,9);
$angka2 = mt_rand(0,9);
$angka3 = mt_rand(0,9);
$angka4 = mt_rand(0,9);
$angka5 = mt_rand(0,9);
$angka="$angka1$angka2$angka3$angka4$angka5";
$HTTP_SESSION_VARS["angka"] = $angka;
?>
<img src="capcay.php?sid=<?=$sid?>" alt="Security Number" /> <br /><br />
<input type="submit" name="submit" value="Kirim Komentar" />
</p>
</form>
Silahkan anda jalankan form.php, muncul kan angkanya, cukup mudah kan? sekarang akan saya jelaskan satu persatu. Pertama-tama kita bahas form.php. Pada awal form.php kita memiliki kode:
<?
$sid = session_id();
if(!$sid){
session_start();
$sid = session_id();
}

Nah, kode tersebut berfungsi untuk mengambil nilai session yang nantinya akan kita kirim melalui form.php, karena pada awalnya kita belum mengirim apa-apa maka kita lewatkan saja kode tersebut dan langsung perhatikan formnya. PAda form kita memiliki field Security Number: <input type="text" name="code" class="textbox" />, ingat bahwa name nya adalah code, nanti kita perlu melakukan pengencekan code ini dengan angka yang kita generate. Oke berikutnya kita akan menemui:
mt_srand((double)microtime()*1000000);
$angka1 = mt_rand(0,9);
$angka2 = mt_rand(0,9);
$angka3 = mt_rand(0,9);
$angka4 = mt_rand(0,9);
$angka5 = mt_rand(0,9);
$angka="$angka1$angka2$angka3$angka4$angka5";
$HTTP_SESSION_VARS["angka"] = $angka;
Disini kita membuat fungsi random, jadi saya membuat variabel $angka1 s/d $angka5 yang isinya adalah angka acak dari 0 sampai 9. Kemudian ke 5 angka tersebut digabung kedalam variabel angka, $angka="$angka1$angka2$angka3$angka4$angka5";. Nah setelah itu disini kuncinya, kita menyimpan variabel angka kedalam session angka dengan perintah $HTTP_SESSION_VARS["angka"] = $angka;. Yang nantinya session ini akan kita ambil pada awal kode tadi.
Sekarang kita akan membuat gambarnya, anda tentu sudah tahu cara menampilkan gambar pada HTML, disini yang kita load bukan gambar tetapi file PHP yang telah menjadi gambar <img src="capcay.php?sid=<?=$sid?>" alt="Security Number" />. Perhatikan, kita perlu mengirim nilai session tersebut kedalam capcay.php yang nantinya akan diproses oleh capcay.php. Nilai session tersebut sudah tersimpan pada variabel $sid karena pada awal kode kita sudah mengisi $sid dengan session $sid = session_id();. Sampai sini, sistem mulai memproses file cpacay.php dengan mengirim session yang berisi angka-angka yang benar. Kita akan bahas capcay.php belakangan. Dan ketika seseorang mengklik tombolnya maka sistem akan memproses kembali file form.php dari awal dan kembali mengambil session tersebut.
Karena anda telah menekan tombol submit, maka bagian kode dibagian atas ini akan dijalankan.
if ($submit) {
  if ($code!=$angka) {
    echo "Security number salah.<br />";
  } else {
    echo "Selamat Anda benar menuliskan angkanya";
  }
}
Itu merupakan kode sederhana untuk melakukan pengecekan apakah angka yang kita masukkan (variabel $code) sudah sama dengan angka yang kita generate yang tadi kita kirim melalui session (variabel $angka). Jika sudah sama silahkan anda tulis perintah yang diinginkan dan jika salah juga silahkan anda ingin sistem melakukan apa.
Oke, mudah kan sekarang kita akan bahas file capcay.php yang tadi kita panggil sebagai images. Sebenarnya file capcay.php hanya menggenerate angka yang kita kirim melalui session dan dicoret-coret. Jika anda membuka file capcay.php saja maka anda hanya akan menemukan coret-coretan tanpa adanya angka.
Pada bagian awal kode di file capcay.php kita akn menemukan kode seperti ini:
$sid=trim($HTTP_GET_VARS["sid"]);
session_id($sid);
session_start();
$angka = $HTTP_SESSION_VARS["angka"];
Kode tersebut berguna untuk mengambil session yang kita kirim pada form.php tadi, session tersebut tentu saja berisi angka acak yang kita buat pada form.php tadi. Dan kita simpan isinya pada variabel angka, $angka = $HTTP_SESSION_VARS["angka"];.
Setelah itu anda akan melihat variabel jarak, ujung dan warna. Untuk menggambar garis kita menggunakan fungsi imageline ( resource $image, int $x1, int $y1, int $x2, int $y2, int $color). Nah untuk mengisi x1, y1, x2, y2 dan warna saya menggunakan nilai acak (random) yang saya simpan di variabel jarak, ujung dan warna. Dengan demikian garis-garis yang muncul dan warna yang muncul tidak akan pernah sama. Coba perhatikan kode berikut ini:
$height = 13; 
$width = 62; 
$im = ImageCreate($width, $height); 
$background = ImageColorAllocate($im, 255,255,255); 
$warnagaris = ImageColorAllocate($im, $warna1, $warna2, $warna3); 
$warnaangka = ImageColorAllocate($im, $warna4, $warna5, $warna6); 
ImageFill($im, 0, 0, $background); 
ImageLine($im, 0, $jarak1, $ujung1, $ujung2, $warnagaris); 
ImageLine($im, 0, $jarak2, $ujung3, $ujung4, $warnagaris); 
ImageLine($im, 60, $jarak3, $ujung5, $ujung6, $warnagaris); 
ImageLine($im, 60, $jarak4, $ujung7, $ujung8, $warnagaris); 
ImageString ($im, 6, 10, 0,  $angka, $warnaangka);
Imagejpeg($im); 
Variabel $width dan $height merupakan panjang dan tinggi bidang gambar kita. KEmudian kita membuat bidang gambar $im = ImageCreate($width, $height); yang disimpan dalam variabel $im. Setelah itu saya membuat background putih $background = ImageColorAllocate($im, 255,255,255); dan memberi warna pada garis dan angkanya, nilai warnanya acak yang telah kita buat pada variabel angka tadi $warnagaris = ImageColorAllocate($im, $warna1, $warna2, $warna3); dan warna angka $warnaangka = ImageColorAllocate($im, $warna4, $warna5, $warna6);.
Berikutnya kita menggambar bidangnya dengan memberi warna putih, ImageFill($im, 0, 0, $background);. Setelah itu kita membuat 4 coretan yang acak dan berbeda-beda dengan fungsi ImageLine($im, 0, $jarak1, $ujung1, $ujung2, $warnagaris); dst. Untuk menuliskan angka yang sudah kita dapatkan tadi, kita menggunakan fungsi imagestring (resource $image, int $font, int $x, int $y, string $string, int $color) dimana tadi kita menggunakan variabel $angka dan untuk warnanya kita menggunakan warna acak dari variabel $warnaangka, ImageString ($im, 6, 10, 0, $angka, $warnaangka);
Langkah terakhir adalah dengan membuatnya menjadi gambar jpg menggunakan fungsi Imagejpeg($im);. Selesai sudah gambar anda sudah tampil yang berisi angka-angka acak, dan angka-angka itu juga dikirim melalui session agar kita bisa melakukan pengecekan.
Bingung? pada file capcay.php itu hanya berisi fungsi-fungsi dasar dari GD Library, jadi pastikan bahwa anda telah mengerti dasar-dasar GD Libary. Jika anda kreatif anda dapat menggambar coretan yang lebih bagus, angka yang lebih menarik dan semakin sulit dibaca. Tetapi perlu diingat juga dalam membuat security number jangan sampai terlalu sulit dibaca oleh manusia. Tujuan membuat security number agar manusia dapat dengan mudah membacanya, tetapi mesin akan kesulitan membacanya.
Jika gambar tidak muncul, pastikan GD Library anda sudah aktif. Tanyakan pada jasa penyedia hosting anda mengenai cara mengaktifkan GD Library di server

Jumat, 12 November 2010

Cara Instalasi Windows XP

Cara Instalasi Windows XP

Windows XP Professional
Windows XP adalah suatu sistem pengoperasian (operating system) yang paling banyak dipakai sampai saat ini karena selain kemudahan dalam pemakaiannya Windows XP digunakan sebagai standarisasi pembelajaran yang di pakai oleh sekolahan-sekolahan dan perguruan tinggi pada umumnya.

Untuk melakukan penginstalan windows xp diperlukan ketelitian dan kesabaran dalam prosesnya karena memerlukan waktu yang lumayan lama.

Ada beberapa jenis windows xp diantaranya windows xp professional, Home Edition, Media Center Edition, Tablet PC Edition, Starter Edition, Professional x64 Edition, Professional 64-bit Edition For Itanium.

berikut langkah-langkah yang mudah dan lengkap cara menginstal windows xp :

1.
Siapkan CD WINDOWS XP

2.
Siapkan CD DRIVER MOTHERBOARD

3.
Atur bios terlebih dahulu agar prioritas bootingnya dimulai dari CD(DVD)-ROM, caranya:

a.
Masuk ke BIOS dengan menekan tombol Del, atau F1, atau juga F2.
Pilih menu Advanced Settings, kemudian carilah ‘Boot Priority’ atau yang sejenis.

b.
ubah pengaturanya, agar CDROM jadi urutan yang pertama kemungkinan pilihan ini ada 2 jenis

* menu ‘First boot priority’, ‘Second boot priority’ dll: Aturlah ‘First boot priority’ ke ‘CDROM’ dengan menekan tombol PgDn/Pgup (Page Down/Up) atau +/-.
Atur juga ‘Second boot priority’nya ke HDD0/HDD1.
* Jika menunya ‘Boot priority’: atur ke ‘CDROM, C, A’ atau ‘CDROM, A,

C.
dengan menekan tombol PgDn/Up.


Cara paling mudah instal windows xp
(lengkap dengan gambar):

gak usah di utak-atik biosnya. biarin aja bios diload masukin CD WINDOWSnya, lalu Restart komputer, trus tekan-tekan F8 atau F10 atau F11 (boleh dicoba satu-satu) nanti bakal muncul opsi boot selection. pilih aja yg ada 'bau' cd-nya. trus enter. selesai deh...ga pake repot-repot...

4.
Tunggu beberapa saat sampai muncul tulisan "press any key to boot from CD" seperti tampilan Seperti gambar di bawah ini



5. Tekan ENTER atau sembarang tombol, lalu proses instalasi akan mengecek hardware komputer anda, kemudian akan muncul tulisan "windows setup" seperti gambar dibawah ini



6. lalu file-file di dalam cd akan di load ke dalam komputer, kemudian akan muncul tampilan "welcome to setup" seperti gambar dibawah ini



7. Tekan "ENTER" untuk menginstal windows xp, "R" untuk repair system windows yang sebelumnya pernah terinstal, "F3" untuk keluar dari proses instalasi, lalu akan muncul (End User Licese Aggrement) seperti gambar di bawah ini



8. Tekan "F8" kemudian proses instalasi akan mencari dan membaca partisi hardisk anda, kemudian akan muncul semua partisi hardisk anda, seperti gambar di bawah ini



9. Tekan "ENTER" untuk langsung menginstal windows, "C" untuk membuat partisi hardisk anda, kapasitas partisi sesuai dengan kebutuhan anda, dalam satuan MB, selanjutnya jika anda membuat partisi dengan menekan tombol "C", maka akan muncul gambar seperti di bawah ini



10. Kemudian tuliskan kapasitas partisi yang ingin anda buat, seperti terlihat pada gambar diatas, sebagai contoh, misalkan kapasitas hardisk anda 40 GB, lalu anda ingin membagi dua, maka tuliskan 20000,jangan 20, karna partisi satuannya MB, tentunya anda mengerti kan...?? cat" 1GB = 1000 MB

11.
Kenudian tekan "ENTER" maka akan muncul gambar seperti dibawah ini



12. kemudian pilih "format the partition using the NTFS file system (Quick)" atau "format the partition using the NTFS file system (Quick)" lalu tekan "ENTER" maka akan muncul layar sepert gambar di bawah ini



13. Kemudian arahkan pointer pada posisi "unpartitioned space", lalu tekan "C" maka akan muncul gambar seperti gambar sebelumnya, dalam hal ini layar yang akan muncul seperti gambar sebelumnya menunjukan sisa partisi yang telah anda bagi, jika anda cuma membagi 2 partisi saja maka langsung tekan "ENTER" tapi jika anda ingin mempartisi lagi sisa hardisknya maka tinggal di bagi lagi aj, seperti langkah-langkah sebelumnya, mengertikan maksud saya....??
setelah selesai partisi ketika anda menekan "ENTER" seperti yang di jelaskan di atas, maka akan muncul gambar sperti gambar diatas, setelah itu arahkan poiter di posisi C: partition1 [New Raw], tapi biasanya sudah berada di posisi tersebut, maka anda tinggal menekan "ENTER" saja untuk proses instalasi windows, kemudian akan muncul proses format seperti gambar di bawah ini



14. Setelah selesai format, kemudian windows akan ,menyalin file untuk proses instalasi, seperti gambar di bawah ini



15. Setelah proses penyalinan selesai, secara otomatis komputer akan melakukan restart seperti gambar di bawah ini, dalam hal ini untuk mempercepat proses restart, anda bisa langsung menekan "ENTER"



16. Setelah itu akan muncul loading windows seperti gambar di bawah ini



17. selanjutnya proses instalasi windows di mulai 1..2..3...GOoooo muncul layar seperti gambar di bawah ini



18. selanjutnya tinggal menunggu, sambil ngopi jg bisa, biar lebih terinspirasi, eitssss, tp jangan kemana mana dulu, karna selanjutnya akan muncul layar seperti gambar di bawah ini



19. Langsung klik "NEXT" aja BOS...!!! lalu mucul lagi bos layar seperti gambar di bawah ini



20. Isi nama dan organisasinya, terserah BOS aja... lalu tekan "NEXT" kemudian akan muncul layar seperti gambar di bawah ini



21. Masukan serial nombernya, jangan sampe salah ya....!!! kemudian tekan "Next" selanjutnya akan muncul layar administrator, isi aja mau dinamain apa komputernya, terserah deeeehhhhh......
kalau mau pake pasword tinggal di isi juga paswordnya, terserah juga mo apa paswordnya.... lalu tekan "Next" maka muncul layar Date and Time Setting seperti gambar di bawah ini




22. Masukan settingan jam dan tanggal, tentukan juga time zone anda, untuk jakarta : pilih GMT+7 Klik "Next" lagi BOS.... setelah proses instalasi windows delanjutkan, seperti gambar di bawah ini



23. Silahkan Menunggu lumayan lama BOS,.... sampai muncul layar seperti gambar di bawah ini



24. Selanjutnya akan muncul layar work group or computer Domain,seperti gambar di bawah ini



25. jika komputer anda terhubung dengan sebuah domain, maka isikan nama domainnya, tapi jika komputer anda stand alone, maka pilih radio button yang paling atas, lalu tekan "Next"

26. Selanjutnya akan muncul display setting, seperti gambar di bawah ini, klik "OK" aja BOS....!!!



27. Kemudian windows akan mendeteksi tampilan optimal dari PC anda, seperti terlihat pada gambar di bawah ini, Klik "OK" aj BOS...!!!



28. Proses instalasi hampir selesai BOS..... selanjutnya akan muncul loading jendela windows seperti gambar di bawah ini



29. Selanjutnya anda akan dibawa masuk ke dalam windows untuk pertama kalinya seperti terlihat pada gambar di bawah ini, tekan "Next" aj BOS..



30. Selanjutnya akan muncul layar "Help Protect Your PC", seperti gambar di bawah ini, kemudian pilih "Not Right Now" lalu tekan "Next"



31. Kemudian komputer akan mengecek koneksi ke internet, seprti terlihat pada gambar di bawah ini, pilih "Yes" lalu tekan "Next"



32. Kemudian akan muncul pilihan aktivasi windows, seperti gambar di bawah ini, lalu tekan "Next"



33. Setelah itu akan muncul tampilan seperti gambar di bawah ini yang menunjukan pilihan untuk menambah pengguna komputer, Anda bisa memasukkan beberapa pengguna yang akan mengakses komputer Anda, Namun jika satu akun sudah cukup, atau Anda menginstall komputer untuk dipakai bergantian, cukup masukkan satu user kemudian klik "Next"

34. Proses instalasi windows selesai, kemudian akan muncul layar seperti gambar di bawah ini, klik "finish", maka proses instalasi selesai.....