Memperbaiki Error appcompat v7 pada Eclipse IDE (ADT)

Setiap membuat project baru menggunakan Eclipse IDE update terbaru, secara otomatis akan muncul folder project appcompat_v7. Tujuannya untuk memberikan compatibility terhadap versi Android sebelumnya, mulai dari API Level 8 (Android 2.2 Froyo). Namun, akan ditemui error pada folder project.

Lalu diikuti dengan error report yang tampil berturut-turut, kurang lebih seperti dibawah ini:

Continue reading Memperbaiki Error appcompat v7 pada Eclipse IDE (ADT)

Menggunakan ListView Android dengan ArrayAdapter

Penggunaan List View sangat direkomendasikan daripada menggunakan extends ListActivity, karena pada Android API terbaru saat ini diharuskan include Android Support Library (jika menggunakan Eclipse IDE, setiap membuat project baru akan muncul folder appcompat_v7) sehingga class melakukan extends terhadap ActionBarActivity.

Tujuan disediakannya Android Support Library untuk memberikan dukungan terhadap versi Android terdahulu, dimulai dari API Level 8 (Android 2.2 Froyo).

Berikut ini merupakan contoh sederhana penggunaan ListView dengan menggunakan ArrayAdapter:

Continue reading Menggunakan ListView Android dengan ArrayAdapter

Cara Mendapatkan Nilai POST dan GET pada Halaman WordPress

Terkadang kita membutuhkan nilai POST atau GET yang dikirimkan melalui halaman WordPress untuk melakukan query. Seperti contohnya ingin membuat indeks berita per tanggal pada halaman WordPress, tentu membutuhkan sebuah form yang bertugas mengirimkan nilai POST atau GET.

Namun, pada WordPress, kita tidak bisa secara langsung mendapatkan nilai POST atau GET yang dikirimkan form menggunakan predefined variable PHP yang biasa digunakan, yaitu $_POST atau $_GET. Alasan singkatnya karena design pattern WordPress tidak memungkinkan untuk melakukan hal itu. Lebih jelasnya dapat melihat gambar diatas mengenai template structure pada WordPress, menjelaskan bahwa functions.php yang ada disetiap template WordPress berperan sebagai “penghubung” untuk menyediakan data kepada template.

Continue reading Cara Mendapatkan Nilai POST dan GET pada Halaman WordPress

Menelusuri Permasalahan jQuery AJAX CORS (Cross-Origin Resource Sharing)

First of all, mengenai tentang CORS bisa membaca referensinya disini, bagi yang belum mengenalnya bisa membacanya terlebih dahulu.

Cross-origin resource sharing (CORS) is a mechanism that allows many resources (e.g. fonts, JavaScript, etc.) on a web page to be requested from another domain outside the domain the resource originated from. In particular, JavaScript’s AJAX calls can use the XMLHttpRequest mechanism. Such “cross-domain” requests would otherwise be forbidden by web browsers, per the same origin security policy. CORS defines a way in which the browser and the server can interact to determine whether or not to allow the cross-origin request. It is more useful than only allowing same-origin requests, but it is more secure than simply allowing all such cross-origin requests.

Saat ini saya menghadapi suatu kasus dimana saya melakukan request POST melalui AJAX terhadap domain yang berbeda. Prosesnya seperti ini:

  1. domainsatu.com melakukan request POST menggunakan AJAX terhadap domaindua.com
  2. domaindua.com memproses request POST tersebut, lalu memberikan output atau return value terhadap domainsatu.com
  3. domainsatu.com mendapatkan output atau return value dari domaindua.com.

Continue reading Menelusuri Permasalahan jQuery AJAX CORS (Cross-Origin Resource Sharing)

Hati-hati, WordPress Bahasa Indonesia Disisipkan Kode Iseng!

Saya baru memulai membuat blog ini menggunakan WordPress beberapa bulan yang lalu. Sehingga blog saya ini masih memiliki jumlah post yang sedikit, dan tentunya belum ramai dikunjungi visitor.

Pada saat itu saya “iseng” ingin menggunakan WordPress berbahasa Indonesia. Saya pun mengunduhnya dari id.wordpress.org lalu memasangnya. Beberapa minggu kemudian halaman home blog saya ini berubah menjadi berlatar gelap, dan tertera tulisan kurang lebih “patch your system”. Intinya terkena deface!

Dalam hati “blog saya belum apa-apa ini sudah terkena deface, bahkan theme-nya pun masih default”.

Pada saat itu waktu saya sangat terbatas, sehingga tidak memiliki waktu untuk mencari tahu siapa dibalik dalang “keisengan” ini. Sementara saya hanya mengubah halaman index-nya terlebih dahulu.

Setelah saya memiliki waktu untuk mencari tahu bagaimana orang iseng ini menyelinap. Ternyata karena WordPress Bahasa Indonesia yang saya gunakan ini masalahnya! Terlihat melalui Analytics bahwa orang iseng ini melakukan login melalui backdoor code yang disisipkan pada WordPress Bahasa Indonesia ini, terlihat pula aksi-aksi lainnya yang dilakukannya sehingga saya mengetahui darimana saja dia membuat “pintu masuk”.

Sesegera mungkin saya pun menghapus core WordPress Bahasa Indonesia yang telah terpasang pada blog saya ini, lalu menggantinya dengan yang baru, yang tentunya tanpa translet-transletan lagi. 🙂

Lalu saya pun iseng membuka Analytics lagi setelah hari ini saya selesai upgrade core WordPress. Beberapa menit kemudian terlihat bahwa orang iseng itu kembali datang untuk menyusup menggunakan URL backdoor.

[Missing Image]

Dalam hati, “Hayo lho.. mau ngapain? Sudah engga bisa yah..” 😀

Baru juga blog saya ini di update sudah mulai bermanuver lagi orang iseng ini, padahal blog ini kan masih “bersih”, tidak ada harta karunnya, hehe.

Terpampang digid.web.id pada website zone-h.org. Terindeks pula oleh Google XD

[Missing Image]

So, bagi blogger atau siapapun yang menggunakan WordPress self-hosted ini diharapkan untuk berhati-hati mengunduh source code WordPress, karena WordPress ini bersifat open source. Mudahan-mudahan jika saat ini ada yang menggunakan WordPress Bahasa Indonesia, bisa segera melakukan langkah antisipasi jika tidak ingin mengalami nasib yang sama seperti saya, hehe.

Semoga bermanfaat! 😀