Archive

Archive for the ‘web’ Category

Ngoprek CakePHP

November 13th, 2010 6 comments

Sudah 1 bulan ini saya bergabung menjadi karyawan di PT. WGS. Ada 2 framework utama yang digunakan di sini, yaitu Ruby On Rails dan CakePHP.

Seminggu pertama bekerja, saya mendapatkan training Ruby On Rails. Tetapi di minggu kedua, saya dipindahkan ke training CakePHP, karena proyek yang nantinya akan saya kerjakan adalah proyek yang menggunakan CakePHP.

CakePHP adalah imitasi dari Ruby On Rails, ini diakui sendiri oleh pembuat CakePHP. Sebagai imitasi, banyak fitur Ruby on Rails yang berhasil dipindahkan dari bahasa Ruby ke dalam bahasa PHP. Sayangnya, fitur-fitur seperti db:migrate dan db:fixtures masih belum ada / belum sempurna dijalankan di CakePHP. Dari segi coding, bahasa PHP juga sedikit kesulitan saat dipaksa mengimplementasikan fitur dari bahasa Ruby, sehingga CakePHP banyak meng-abuse penggunaan array().

Bagi saya, belajar dan menggunakan CakePHP adalah tantangan tersendiri. Di satu sisi, implementasi convention-over-configuration sangat membantu mempercepat penyelesaian aplikasi. Di sisi lain, beberapa fitur yang dipaksakan dari Ruby On Rails jadi terasa tidak alami saat diimplementasikan di PHP. Belum sempurnanya dukungan untuk migrate & fixtures juga dirasa sebagai kekurangan, saat melakukan develop aplikasi secara bersama-sama.

Untuk saya yang kurang bisa menghasilkan desain yang bagus, style default dari CakePHP sudah cukup bagus di mata saya. Ke depan, mungkin saya akan menggunakan CakePHP untuk proyek pribadi, sehingga saya tidak perlu pusing lagi mencari template halaman web yang bagus. Tapi saya masih merasa nyaman dengan coding ala CodeIgniter. Beberapa saat lagi CodeIgniter 2.0 juga akan dirilis. Mari kita tunggu, apa saja fitur baru di rilis kali ini.

Categories: web Tags:

Twitter developer website

April 16th, 2010 10 comments

Kemaren saya mengetahui dari twit status teman saya (@ibnutri) bahwa saat ini ada website baru yaitu twitter developers. Pada situs ini, developer aplikasi twitter dapat mengetahui status tiap API twitter, membaca dokumentasi, berdiskusi, dan melihat list aplikasi yang telah dibuat.

Developer juga dapat melakukan test API call secara langsung melalui console yang disediakan oleh twitter. Melalui website ini juga, twitter memperkenalkan API baru yang diberi nama @Anywhere. Berikut adalah fitur yang tersedia melalui API @Anywhere:

  1. Auto-linkification of @usernames
  2. Hovercards
  3. Follow buttons
  4. Tweet Box
  5. User login & signup

Aplikasi twitter yang pernah dibuat bisa langsung digunakan sebagai aplikasi @Anywhere, dengan menggunakan consumer key aplikasi tersebut sebagai API key. Walaupun begitu, Twitter menyarankan agar developer membuat aplikasi baru untuk digunakan sebagai @Anywhere.

Categories: web Tags: , ,

Upload file di google chrome menampilkan progress status

April 16th, 2010 Comments off

Saya baru mengetahui bahwa Google Chrome memiliki fitur yang sangat bagus. Pada saat upload file dilakukan menggunakan elemen form standar (bukan menggunakan plugins flash/applet), maka Google Chrome akan menampilkan progress status seperti yang terlihat pada gambar berikut ini:

Upload progress status in google chrome

Upload progress status in google chrome

Ini adalah sebuah fitur yang sangat bermanfaat bagi pengguna browser. Semoga browser lain (terutama firefox) dapat memberikan fitur yang serupa.

Cara menutup halaman form login dabr

March 12th, 2010 35 comments

Tulisan ini terkait dengan artikel sebelumnya serta jawaban untuk pertanyaan ini. Setelah melakukan instalasi dabr dan melakukan konfigurasi, saya melakukan sedikit perubahan pada kode dabr sehingga halaman form login tidak lagi tampil. Pengguna yang belum login akan langsung diarahkan ke halaman twitter dan dipaksa untuk melakukan authentikasi menggunakan oAuth.

Berikut ini adalah cuplikan kode asli dabr yang terdapat pada file common/user.php

function user_ensure_authenticated() {
  if (!user_is_authenticated()) {
    $content = theme('login');
    $content .= file_get_contents('about.html');
    theme('page', 'Login', $content);
  }
}

Berikut ini adalah perubahan yang saya lakukan pada fungsi diatas, sehingga pengunjung situs akan diarahkan otomatis ke halaman authentikasi twitter menggunakan oAuth.

function user_ensure_authenticated() {
  if (!user_is_authenticated()) {
    header('Location: '. BASE_URL.'oauth');
    exit();
  }
}

Silahkan dicoba, semoga bermanfaat 🙂

Tambahan:

Authentikasi melalui oAuth penting untuk menjaga keamanan username dan password twitter Anda, karena Anda memberikannya hanya kepada twitter.com, bukan kepada situs aplikasi client twitter. Hal ini sangat penting untuk menjaga jangan sampai username dan password Anda jatuh ke tangan pihak yang tidak berhak lalu melakukan hal-hal yang tidak diinginkan. Terbukti beberapa account twitter teman saya telah diakses pihak lain dan digunakan untuk menyebarkan pesan dan link spam kepada followernya lewat DM. Jangan sampai terulang lagi.

Saya pribadi tidak jadi menggunakan beberapa layanan seperti twitpic hanya karena mereka belum menyediakan autentikasi twitter melalui oAuth. Saya lebih memilih menggunakan img.ly yang sudah mendukung oAuth.

Categories: web Tags: , , ,

Jumlah pengguna Bukan BlackBerry® dan NgüberTwіtter™

March 6th, 2010 21 comments

Berikut adalah hasil screenshot dari halaman twitter application, jumlah pengguna Bukan BlackBerry® dan NgüberTwіtter™

Jumlah pengguna Bukan BlackBerry®

Jumlah pengguna NgüberTwіtter™

Tampaknya NgüberTwіtter™ lebih diminati ketimbang Bukan BlackBerry®.

Selain untuk diakses lewat handphone, kedua aplikasi diatas juga bisa diakses lewat browser biasa. Keduanya memang tidak akan memberitahukan jika ada update tweet terbaru, seperti halnya mengakses web twitter secara langsung. Tapi bagi saya pribadi, akses twitter menggunakan dabr lebih enak. Dengan plugins AutoPager di Firefox, halaman selanjutnya bisa diload secara otomatis, sehingga dalam 1 layar bisa langsung baca semua tweet yang ada di timeline.

Terima kasih telah menggunakan aplikasi twitter ini.

Categories: web Tags: , , ,

Menyimpan password dalam bentuk plaintext? Jangan salahkan pihak lain kalo kebobolan

March 4th, 2010 16 comments

Perhatian:
Masalah aslinya telah lama selesai. Tulisan ini saya biarkan tetap ada sebagai arsip.

Hari ini pak Nukman me-retweet tentang www.belajarmenulis.com yang kata pemiliknya (Jonru) kena “hack”. Semula saya hanya menanggapi penggunaan kata hack yang tidak tepat, ternyata setelah saya baca keterangan Jonru di www.belajarmenulis.com, saya menemukan blunder lainnya.

Pak Jonru ternyata menyimpan daftar username dan password anggota www.belajarmenulis.com dalam bentuk plain text di sebuah file text yang bisa diakses langsung dari url www.belajarmenulis.com/wp-includes/wp-info.txt. Membaca ini saya hanya bisa berujar “wow” dalam hati.

Ibaratnya, pemilik rumah menaruh kunci rumahnya di bawah pot bunga di depan rumah tersebut. Ada maling yang kebetulan senang memeriksa pot bunga lalu menemukan kunci tersebut. Dalam hal ini keduanya salah, maling tetaplah maling, tindakannya salah. Pemilik rumah juga melakukan kesalahan, meletakkan kunci rumahnya dalam tempat yang tidak diamankan secara cukup.

Menyimpan username dan password dalam format plain text adalah blunder yang bisa dilakukan siapa saja. Bahkan hosting sekelas mediatemple.net pernah melakukannya. Bagi yang merasa prihatin dengan masalah ini, salah satu tindakan yang bisa dilakukan adalah mendaftarkan situs yang masih melakukan hal ini (menyimpan username dan password dalam bentuk plaintext) ke passwordFail.com. Ini adalah salah satu cara paksa, jika memang pemilik situs bersikeras untuk tetap melakukan blunder ini.

Kembali ke penggunaan kata hack yang saya soroti di awal, kata hacker tidaklah tepat digunakan dalam kegiatan ini. Walaupun orang yang membobol situs www.belajarmenulis.com menggunakannya, Jonru sebagai seorang penulis mestinya bisa melakukan koreksi terhadap hal ini. Tindakan perusakan bukan lagi tergolong hack, tetapi sudah crack, pelakunya disebut cracker. Jika seorang penulis saja gagal mengetahui beda hack dengan crack, pantas saja orang awam dan media terus melakukan kesalahan ini.

UPDATE:

Pak Jonru melakukan klarifikasi lewat twitter, bahwa file text tersebut adalah hasil buatan cracker yang membobol www.belajarmenulis.com. Pertanyaan selanjutnya yang muncul adalah, dari mana seorang yang mengaku pemula bisa mendapatkan list username dan password lalu menyimpannya di file text? WordPress terbaru saja telah melakukan pengamanan yang cukup bagus, dan sudah sejak lama menyimpan password dalam bentuk hash, bukan plain text. Mustahil mendapatkan password asli dari hash yang tersimpan di database. Satu-satunya yang bisa dilakukan cracker adalah mencari collision, kata berbeda yang jika di hash hasilnya sama dengan hash yang tersimpan di database. Cracker tidak mendapatkan password asli, tapi sebuah password baru yang oleh aplikasi dianggap sama dengan password asli, karena kelemahan hash yang digunakan.

Kesimpulan sementara saya, username dan password www.belajarmenulis.com memang tersimpan dalam bentuk plaintext di suatu tempat di www.belajarmenulis.com. Seorang cracker yang mengaku pemula saja bisa mendapatkannya dan menyalin semuanya ke sebuah file text.

Jika memang ternyata pak Jonru merasa tidak pernah melakukan hal ini (meyimpan username dan password dalam bentuk plain text), silahkan dikonfirmasi. Karena konfirmasi terakhir pak Jonru lewat twitter menyatakan diri bukan programmer, ada banyak rekan programmer maupun analis keamanan yang bisa dimintai bantuan mencari celah keamanan yang ada untuk kemudian diperbaiki.

Tulisan ini bukan saya buat untuk menyerang pak Jonru, tapi mengingatkan diri sendiri dan pembaca sekalian, bahwa keamanan di Internet adalah hal yang penting yang harus dijaga. Ketika pengguna situs kita mempercayakan data penting, walau hanya berupa username dan password, pemilik situs memiliki tanggung jawab besar menjaga data itu tidak jatuh ke tangan orang yang tidak berhak.

Akhir kata, jika ada kesalahan penulisan maupun pemilihan kata/kalimat yang kurang tepat, saya mohon maaf. Semoga maksud yang hendak saya sampaikan bisa ditangkap dengan baik oleh pembaca blog ini.

Membuat Aplikasi di Twitter

February 28th, 2010 143 comments

Pada artikel sebelumnya saya telah memberi gambaran singkat langkah-langkah yang perlu dilakukan untuk menginstall dabr di hostingan pribadi. Pada tulisan ini, saya akan membahas bagaimana cara membuat aplikasi di twitter dan menerangkan apa saja yang perlu diisi di tiap kolom isian form aplikasi baru.

Aplikasi di twitter adalah fitur yang disediakan oleh twitter untuk para pengembang aplikasi sehingga aplikasi lain bisa menarik data dari account twitter seseorang dan melakukan update status. Siapapun yang telah memiliki account twitter bisa membuat aplikasinya sendiri.

Untuk melihat list aplikasi yang buatan sendiri, silahkan login di twitter lalu kunjungi halaman http://twitter.com/apps/. Di bagian akhir halaman akan terdapat link dengan tulisan Register a new application ». Klik link tersebut untuk membuat aplikasi baru di twitter.

Pada halaman Register an Application terdapat form isian dengan tampilan sebagai berikut:

Mari kita bahas masing-masing kolom isian yang ada.

  1. Application icon
    Kita bisa mengupload file gambar yang akan dijadikan logo aplikasi. Ada batasan ukuran file sebesar 700kB, dan tipe file yang diterima hanyaJPG, GIF, dan PNG. Jika belum memiliki logo, biarkan saja menggunakan logo default dari twitter, nanti setelah punya logo, aplikasi bisa diedit untuk mengubah logonya.
  2. Application Name
    Isikan nama aplikasi disini. Untuk sebuah twitter client, nama aplikasi ini akan tampil pada status jika digunakan untuk mengupdate status twitter. Contoh nyata pada aplikasi “Bukan Blackberry” yang ada di posting saya sebelum ini. Untuk memasukkan karakter khusus seperti â„¢, paling mudah gunakan aplikasi Character Map. Oh ya, aplikasi tidak boleh mengandung kata “twitter”. Pada aplikasi NgüberTwÑ–tter, saya menggunakan huruf i dari karakter bahasa Russia. Pada aplikasi yang belum mendukung UTF-8, karakter ini mungkin akan tampil seperti kotak saja. Setidaknya, saya bisa mengakali twitter 🙂
  3. Description
    Tuliskan deskripsi aplikasi dalam bahasa Inggris. Sebaiknya isi kolom ini dengan deskripsi aplikasi yang dibuat. Jika menggunakan dabr, maka tuliskan saja teks seperti: “This is dabr, a twitter application to access and update twitter status using mobile device”. Sebaiknya jujur, untuk menghindari masalah di kemudian hari.
  4. Application Website
    Isikan alamat website dimana pengguna aplikasi bisa mendownload aplikasi, atau mengaksesnya, jika aplikasi ini adalah berbasis web, seperti “Bukan BlackBerry”.
  5. Organization
    Jika aplikasi dibuat oleh perorangan, tinggal isikan nama pembuat aplikasi disini. Jika aplikasi dibuat oleh perusahaan/organisasi, ya isikan saja nama organisasi/perusahaan pembuatnya.
  6. Website
    Isikan alamat website pembuat, perorangan atau organisasi. Saya mengisi alamat blog ini untuk aplikasi “Bukan Blackberry” dan NgüberTwÑ–tter.
  7. Application Type
    Pilih pilihan yang sesuai dengan jenis aplikasi yang akan mengakses account twitter. Aplikasi bertipe client contohnya adalah TweetDeck. dabr merupakan aplikasi bertipe Browser, karena harus diakses menggunakan browser.
  8. Callback URL
    Isian ini muncul jika pada pilihan sebelumnya dipilih tipe browser. Isikan dengan alamat callback milik dabr yang telah dipasang. Contoh, di aplikasi Bukan Blackberry, callbacknya adalah http://twitter.abifathir.com/oauth
  9. Default Access Type
    Jika dipilih Read-only, maka aplikasi hanya bisa mengambil status saja, tidak bisa melakukan update. Agar bisa melakukan update status, pilihlah tipe Read & Write.
  10. Use Twitter for login
    Pilihan ini berguna jika aplikasi akan menggunakan informasi login twitter untuk keperluan internal aplikasi. Contohnya adalah GroupTwitter. Aplikasi dabr tidak memerlukan pilihan ini, jadi tidak ada pengaruhnya, dipilih ataupun tidak.
    Update: Saya  tidak tahu dengan pasti apakah dabr membutuhkan setting ini atau tidak. Untuk aplikasi Bukan BlackBerry dan NguberTwitter, pilihan ini saya centang. Bagi yang masih mendapatkan error, coba centang pilihan ini di aplikasi twitter yang dibuat.
  11. ReCAPTCHA
    Ini adalah pengaman form. Isikan teks sesuai gambar yang ditampilkan.

Jika semua telah diisi dengan benar, maka aplikasi twitter akan tercipta. Ada 2 hal yang perlu diperhatikan di halaman keterangan aplikasi twitter, yaitu Consumer Key dan Consumer Secret. Isikan keduanya ke dalam file config.php yang ada di tempat dabr diinstall. Jika mengembangkan aplikasi sendiri, bukan menggunakan dabr, maka perhatikan juga URL-URL milik twitter yang diperlukan saat mengirim request oAuth.

Semoga panduan singkat ini dapat membantu. Selamat membuat aplikasi twitter 😉

PS: Aplikasi twitter pada artikel ini hanyalah sebuah gerbang akses yang dibuka oleh twitter untuk para pengembang aplikasi. Anda tetap membutuhkan aplikasi client baik yang berupa aplikasi desktop (seperti TweetDeck atau UberTwitter di BB), maupun berbasis web seperti dabr, yang akan memanfaatkan aplikasi twitter untuk mengakses timeline dan melakukan update status.

Untuk menginstall dabr, Anda harus memiliki hosting pribadi terlebih dahulu. Tanpa memahami ini, dipastikan akan bingung setelah bikin aplikasi twitter lalu mesti diapain lagi. Silahkan baca ulang artikel ini dan artikel sebelumnya.

Update 9 Apr 2010
Perhatikan langkah ke 10:
Use Twitter for login. Mungkin berhubungan dengan error yang dialami oleh wistu dan rekan lain.

Categories: web Tags: , ,

Bukan BlackBerry®, akses twitter dari telepon selular

February 22nd, 2010 98 comments

Ide membuat twitter client ini berawal dari munculnya “BlackBerry Punya Teman“  yang digunakan oleh beberapa taruwit yg berkontribusi di @infobdg. Sebelumnya saya juga telah menggunakan dabr langsung di dabr.co.uk. dabr adalah twitter client yang dioptimasi untuk diakses melalui browser yang terdapat pada telepon selular. Fitur yang terdapat pada dabr lebih lengkap ketimbang fitur pada m.twitter.com, membuat saya lebih memilih dabr untuk mengakses twitter lewat HP.

Berhubung saya memiliki domain abifathir.com, maka saya berinisiatif menginstall dabr di hosting saya ini. Lumayan daripada domainnya nganggur, lagipula saya bisa mengeset sendiri nama aplikasi yang akan muncul saat menggunakan dabr yang saya install di domain saya ini.

Bagi yang ingin menginstall dabr sendiri, ikuti saja petunjuk instalasinya, lalu buat sebuah aplikasi twitter di sini. Pastikan tipe aplikasinya adalah ‘browser’, bukan ‘client’. Sesuaikan url aplikasi dengan url yang digunakan sebagai tempat instalasi dabr.

Ketika mengakses twitter menggunakan dabr, jangan lupa untuk melakukan login melalui oAuth, bukan menggunakan username dan password. Jika menggunakan username dan password, maka twitter client yang ditampilkan adalah ‘from dabr’. Twitter sendiri sudah tidak mensupport login menggunakan cara ini, dan merekomendasikan login melalui oAuth.

Selain menggunakan browser di hp, Opera Mini juga bisa digunakan untuk mengakses Bukan BlackBerry®, bahkan tampilannya akan lebih bagus.

Selamat mencoba.

Categories: web Tags: , , ,

New virus changing Facebook status into spam message

October 4th, 2009 Comments off

When I woke up this morning and check my email. I got a comment from my friend about my status in facebook. When I check it, it’s appear that my facebook status have been changed into this text:

I’m 8 1/2 pounds lighter thanks to the FREE trial pack of this new colon cleanser that I got! visit ExpressColon.net to get yours! nUW

The additional info about this status is that this status updated 10 hours ago via Mobile Web.That time, my cellphone is inactive, and I’m sleeping.

I search about this issue in google, and I got a few post about it:

Im my case, my cellphone is inactive, so the chance that my cellphone do the status update is zero. My guess is that one of my friends got his cellphone infected, then from that the virus update other firend’s status with the spam message.

Please check your facebook status and your other friend’s status now. I’m still searching the setting in facebook to prevent others from update my status. I’m revoking application’s privilege to post anything in my streams, but I think the virus using some bug in facebook API.

Please tell other via twitter, plurk, facebook, and other media.

Update:
http://biscuitbee.wordpress.com/2009/10/03/mobile-phone-virus-targeting-facebook/

Categories: web Tags: , , , ,