Belajar PHP: Mengenal Propel, ORM PHP 5.5 Yang Cepat dan Mudah Dicustom

Pengertian Propel/Apa itu Propel

Propel adalah Object-Relational Mapping (ORM) opensource untuk database SQL di PHP 5.5 ke atas yang membuat akses ke database menggunakan bentuk objects, yang dikemas secara sederhana dengan menggunakan API, baik untuk menyimpan atau mengambil data.

Salah satu hal lain yang dimahfumi dari ORM adalah kemampuan query-builder yang unik, pembuatan dan migrasi schema database, kemampuan reverse engineering tabel/database yang ada dan lain-lain.

Propel ORM
Propel ORM

Kenapa Propel?

Continue reading Belajar PHP: Mengenal Propel, ORM PHP 5.5 Yang Cepat dan Mudah Dicustom

Inilah 5 Hal Yang Bisa Kamu Lakukan Biar PHP Jadi Lebih Aman

Keamanan adalah faktor sangat penting dari pengembangan sistem, apapun itu, termasuk sistem yang dikembangkan dengan PHP. Nah, berikut adalah 5 hal yang bisa kamu lakukan biar PHP di server kamu lebih aman.

NB. Cara ini hanya bisa dilakukan kalau kamu punya akses ke server, bukan akses cpanel saja.

1. Menyembunyikan Versi PHP yang terinstall

Salah satu celah yang sebenarnya tidak cukup berbahaya namun bisa menjadi pintu gerbang bagi hacker yaitu versi PHP yang terbuka (dibiarkan bisa dibaca). Biasanya berlaku untuk versi PHP yang lawas yang masih memiliki beberapa bug berbahaya. Nah untuk mengatasinya, silakan buka file php.ini dan ubah setting expose_php menjadi OFF.

expose_php = off

2. Mencegah Remote Code Execution

Remote Code Execution adalah salah satu metode yang jarang dipakai. Sasaran utamanya adalah sistem informasi berbasis PHP yang masih membuka kesempatan bagi hacker yang masuk untuk mengeksekusi perintah yang mereka tempatkan di server mereka. Salah satu jalannya, mereka menggunakan fungsi file_get_contents(). Nah, untuk mencegah hal itu silakan ubah setting allow_url_fopen dan allow_url_include.

allow_url_fopen = off
allow_url_include = off

3. Mematikan function berbahaya

Function berbahaya jika disalahgunakan adalah fungsi-fungsi yang memberikan akses untuk menjalankan aplikasi lain, misalnya script bash, python, atau aplikasi lain di sistem. Fungsi-fungsi itu diantaranya, exec, shell_exec, passthru, system, popen, curl_exec, dll. Matikan mereka dengan taruh nama fungsi itu di setting disable_function di php.ini.

disable_functions =exec,shell_exec,passthru,system,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source,proc_open,pcntl_exec

4. Membatasi Folder PHP yang Bisa Digunakan

Cara ini cukup efektif untuk membatasi gerak hacker yang sudah berhasil mengupload script PHP jahatnya. Kita bisa membatasi darimana saja file PHP yang bisa dieksekusi. Katakanlah, file PHP yang bisa dieksekusi hanya dari folder /home/emka/cms. File PHP dari folder itu saja yang bisa dijalankan.

Caranya, tuliskan nama folder di setting open_basedir di php.ini.

open_basedir="/home/emka/cms"

5. Mengatur Limit PHP

PHP sebenarnya sudah mengatur batas operasionalnya, misalnya terkait ukurang file yang bisa diupload, lamannya skrip PHP bisa dieksekusi, atau waktu maksimal sebuah skrip bisa berjalan memproses data. Semuanya bisa diatur dari file php.ini.

Membatasi ukuran file maksimal yang bisa diupload:

upload_max_filesize = 2M

Membatasi waktu eksekusi sebuah skrip PHP:

max_execution_time = 15

Membatasi waktu setiap skrip dalam mengolah data:

max_input_time = 30

Tentunya proses setting pembatasan PHP ini harus disesuaikan dengan kebutuhan dan hasil benchmark. Idealnya setiap skrip PHP tidak dieksekusi lebih dari 30 detik, kecuali dia merupakan skrip yang menjalankan proses yang kompleks.

Itulah 5 hal yang bisa kita terapkan untuk mengamankan PHP.

Tutorial PHP-MySQL untuk Pemula (Part 5): Pengertian String

String adalah istilah untuk kumpulan huruf/angka atau sebut saja karakter. Contohnya “Hello World”, “Ini Kami”. Dalam PHP (dan bahasa pemrograman lainnya), string menjadi salah satu tipe data yang kerap sekali dipakai.

Berikut adalah fungsi-fungsi yang ada di PHP yang digunakan untuk memanipulasi String:

1. strlen (Panjang kalimat)

Fungsi strlen() adalah fungsi yang digunakan untuk mengetahui panjang sebuah string (jumlah karakter yang ada). Contohnya:

<?php
echo strlen("Selamat datang");
?>

akan menghasilkan tampilan 13 (sesuai dengan panjang string diatas).

2. str_word_count (jumlah kata)

Fungsi str_word_count() adalah fungsi untuk mengetahui jumlah kata pada sebuah string.

Contohnya:

<?php
echo str_word_count("Selamat datang");
?>

akan menghasilkan tampilan 2, yaitu 2 kata “Selamat” dan kata “datang”.

3. strrev (membalik string)

Fungsi strrev() adalah fungsi untuk membalik urutan karakter-karater pada string. Contohnya, string “Selamat” menjadi “tamaleS”.

Contoh skrip:

<?php
echo strrev("Selamat datang");
?>

akan menghasilkan “gnatad tamaleS”.

4. strpos (mencari posisi teks pada string)

Fungsi strpos adalah fungsi untuk mencari posisi sebuah teks pada sebuah string. Misalnya, anda ingin mencari posisi kata “datang” pada string “Selamat datang para pembaca”.

Maka skrip yang anda gunakan misalnya:

<?php
echo strpos("Selamat datang para pembaca", "datang");
?>

menghasilkan “7”. Kenapa 7? karena posisi dimulai dari angka 0, 1, 2, 3 dan seterusnya.

5. str_replace (mengganti teks pada string)

Fungsi str_replace() adalah fungsi untuk mengganti sebuah teks pada string dengan teks yang ditentukan. Contohnya, ingin mengganti kata “datang” menjadi kata “membaca”:

<?php
echo str_replace("datang", "membaca", "Selamat datang");
?>

akan menghasilkan “Selamat membaca”.

Tutorial PHP: Skrip Download Data & NISN Siswa Dapodik

Dalam tutorial kali ini kita akan mencoba mendapatkan data pokok dari seorang siswa yang telah memiliki NISN (Nomor Induk Siswa Nasional) yang dikelola oleh Dapondik, Kemendikbud. Tutorial ini akan bertumpu pada penggunaan library cURL dan manipulasi array-string sederhana.

Prinsip Kerja

Pada dasarnya, data pokok yang akan kita ambil berasal dari hasil pencarian pada situs Dapondik Kemendikbud (http://nisn.dapondik.org/). URL yang dituju adalah http://nisn.dapondik.org/siswa.php. Dengan library cURL, kita akan posting variabel $_GET berupa nisn dengan value nomor NISN seorang siswa. Hasil eksekusi cURL tersebut akan kita olah dengan teknik parsing dan replacing data.

Source Code

Berikut adalah source code dari fungsi untuk mengambil data pokok Siswa berdasarkan NISN dengan PHP: Continue reading Tutorial PHP: Skrip Download Data & NISN Siswa Dapodik

Tutorial PHP: Skrip Anagram dan Kata Acak

Anagram sendiri seperti yang kita kenal adalah permainan mengacak kata-kata dalam suatu bahasa. Dengan PHP kita dapat membuat anagram dan kata-kata acak dengan bantuan sebuah Class, Word Solver karya om Arturs Sosins aka ar2rsawseen. Silakan unduh kode sumbernya disini.

Untuk menggunakannya, sesuai contoh berikut:
1. Buat interfacenya
lebih lanjut tentang Membuat Anagram dan Kata Acak dengan PHP…

Tutorial PHP: Deteksi Plagiarisme Konten / Paragraf

Pengantar

Plagiarisme (penjiplakan) adalah salah satu kejahatan, tidak saja secara moral dan etik bermasalah, namun secara hukum. Nah, bagaimana cara mengetahui sebuah karya tulis merupakan hasil jiplakan karya orang lain? tentunya kita harus melakukan deteksi dengan berbagai teknik dan algoritma tersendiri.

Dalam posting kali ini, saya akan mencoba mendemonstrasikan deteksi plagiarisme konten dengan teknik komparasi string dalam bahasa PHP. Algoritma ini (tampaknya) yang digunakan oleh Sistem Informasi Sertifikasi dosen Nasional yang mendeteksi apakah portofolio yang dikirim merupakan jiplakan dari orang lain.

Source Code

Kode sumber yang saya ulas disini adalah karya dari Rochak Chauhan dari DMWTechnologies. Berikut adalah class PHP-nya Continue reading Tutorial PHP: Deteksi Plagiarisme Konten / Paragraf

Tutorial PHP: Konversi Date Time MS-SQL ke MySQL

Bekerja lintas basis data memang menantang, setiap basis data mempunyai ciri kekhasan sendiri, walaupun sama-sama memakai bahasa SQL. Contohnya ketika bekerja lintas MS-SQL (Microsoft SQL) dengan MySQL. Ada beberapa hal yang harus disesuaikan untuk mendapatkan data yang sesuai dengan format-format masing-masing. Karena itulah, konversi mutlak diperlukan untuk beberapa kasus tertentu, contohnya date time MSSQL dan MySQL yang berbeda.

MySQL tidak mendukung penyimpanan date time sedetil MSSQL yang telah sampai pada level microsecond. Konversi diperlukan untuk hal ini. Dalam bahasa PHP mungkin kode berikut bisa anda gunakan: Continue reading Tutorial PHP: Konversi Date Time MS-SQL ke MySQL

Tutorial PHP: Enkripsi URL & Enkripsi Variable $_GET

Kita mengenal dua macam variable URL pada form processing dengan PHP, Post dan Get. Ciri khas variable GET adalah, tampaknya variable-variable tersebut pada aplikasi. Untuk itulah, beberapa aplikasi membuat skenario enkripsi pada variable-variable tersebut.

Untuk enkripsi yang dipakai pada praktik kali ini adalah enkripsi base64 dengan key, baik encode dan decode. Anda dapat membaca ulasannya disini: http://wp.me/pTjo8-eV

Berikut contoh aplikatifnya: Continue reading Tutorial PHP: Enkripsi URL & Enkripsi Variable $_GET

Tutorial PHP: Skrip Akses & Pengolahan Database MS-SQL

SQLExpress adalah salah satu edisi Microsoft SQL Server (MSSQL) yang didistribusikan secara gratis untuk para hobiest dan tujuan non komersial. Edisi terbaru dari SQLExpress adalah versi 2008, yang dipaketkan dengan Visual Studio 2010. Sejak PHP5 dirilis, dukungan komunitas untuk database MS-SQL tidak berkembang, hingga akhirnya Microsoft merilis sqlsrv untuk menggantikan ekstensi mssql yang sudah mandeg dikembangkan. Selain ekstensi mssql (dengan ntdwlib/DB_LIB) di Windows, akses PHP ke MS-SQL di Linux bisa dilakukan dengan FreeTDS dan Sybase.

Untuk pembahasan kali ini, kita akan belajar bagaimana mengakses database MS-SQL dengan PHP.

Instalasi SQLExpress

Untuk menginstall SQLExpress, anda butuh installernya yang dapat diunduh disini:

Install dengan klik ganda file tersebut, saat instalasi pastikan metode autentifikasi yang digunakan adalah campuran antara Windows Authentication dan SQL Server Authentication serta isi password dengan benar. Continue reading Tutorial PHP: Skrip Akses & Pengolahan Database MS-SQL

Tutorial PHP: Membuat Web Pemutar Video dengan FlowPlayer

Sekilas tentang FlowPlayer

FlowPlayer adalah sebuah video player berbasis web. Teknologi yang digunakan adalah player berbasis Shockwave Flash (milik Adobe) dan sebuah JavaScript. FlowPlayer digunakan untuk melakukan streaming video pada suatu halaman web. FlowPlayer dilepas dengan lisensi GPL 3+ dan tersedia dalam dua versi, versi OpenSource yang gratis dan versi Commercial yang dapat dikustomasi dan dibranding ulang.

Download FlowPlayer

Silakan download FlowPlayer terbaru di situs resminya: http://www.flowplayer.org/ atau via link berikut: Klik Disini

Membuat Web Video Player dengan FlowPlayer

Tujuan praktik kita kali ini adalah membuat sebuah halaman web mampu melakukan streaming video dengan bantuan FlowPlayer. Video yang akan digunakan berupa video flash (FLV). Untuk itu, download dulu FlowPlayer dari tautan diatas, ekstrak dengan WinZIP/WinRAR dsb. Continue reading Tutorial PHP: Membuat Web Pemutar Video dengan FlowPlayer

Tutorial PHP: Pembuatan Situs Short URL (Pemendek URL)

URL Shortening atau layanan pemendek URL (link) adalah layanan yang memberikan sebuah link pendek dari suatu halaman web atau aplikasi web. Pertama kali dipopulerkan pada tahun 2001, dan mulai tersedia ke publik luas pertama kali oleh TinyURL pada tahun 2002. Sekarang telah lebih dari 100 macam penyedia terekspos ke publik, dan kepopulerannya kembali terangkat dengan hadirnya bit.ly pada tahun 2009 dan segera menjadi pemain utama.

Layanan pemendek URL ini sangat populer digunakan sebagai penghemat jumlah karakter pada layanan SMS atau social networking yang membatasi jumlah karakter seperti Twitter.

Belajar Membuat URL Shortening dengan PHP

Untuk membuat URL Shortening, kita dapat memanfaatkan class PHP berikut: Continue reading Tutorial PHP: Pembuatan Situs Short URL (Pemendek URL)

Tutorial PHP: Adopsi Fitur Shortcode WordPress

WordPress sebagai sebuah platform blogging sudah sangat teruji kehandalannya dalam menangani lebih dari 19 juta blog di wordpress.com dan jutaan blog lainnya yang berbasis WordPress. Sebagai sebuah framework pemrograman, WordPress telah menjadi inspirasi beberapa program lainnya seperti BuddyPress, bbPress, Gravatar, dll. WordPress sendiri sebelum jauh berkembang seperti ini memang diilhami besar oleh sourcecode b2evolution yang kemudian diperas dan dirombak ulang menjadi framework dasar BackPress (http://backpress.org/).

Salah satu fitur unggulan dari platform blogging WordPress adalah kemampuan perluasan yang luar biasa dengan Plugin dan kemampuan handling dengan shortcode, filter, dll. Akan kita bahas tentang API Shortcode WordPress kali ini.

Source code API WordPress bisa anda dapatkan di masing-masing source code blog anda di folder /wp-includes/shortcodes.php. Untuk dapat digunakan diluar platform WordPress, tuju ke baris terakhir file shortcodes.php dan buang source add_filter('the_content', 'do_shortcode', 11); // AFTER wpautop().

Untuk menambahkan shortcode baru dari sebuah fungsi, gunakan pola:
add_shortcode($tag_shortcode,$namafungsi_shortcode);

Fungsi yang diwakili shortcode harus ada (exists).

Selanjutnya siapkan satu buah file PHP, misalnya index.php dan coba serangkaian snippet berikut: Continue reading Tutorial PHP: Adopsi Fitur Shortcode WordPress

Tutorial PHP: Teknik Kompresi File CSS

CSS adalah salah satu komponen wajib yang sekarang dipakai dibanyak website bertampilan modern bukan sekadar tulisan sederhana. CSS sebuah halaman web itu bisa dibenamkan langsung pada file PHP/html ataupun diload sebagai sebuah dokumen lain.

Sebagai lanjutan teknik mempercepat loading website kemarin, kini anda bisa melakukan kompresi pula pada file CSS. ada dua metode, 1) dengan CSS compressor, dan 2) mengubah CSS sebagai PHP dan kompresi ob_gzhandler. Continue reading Tutorial PHP: Teknik Kompresi File CSS

Tutorial PHP: Percepat Loading Web dengan Kompresi File PHP

Keunggulan penggunakan PHP adalah Anda dapat mengkompres file PHP Anda, sehingga dapat membuat waktu untuk menampilkan website menjadi lebih cepat karena kapasitas file yang diunduh menjadi lebih kecil. Ada beberapa cara untuk melakukan ini, antara lain dengan metode kompresi ob_gzhandler.

Cara menggunakannya adalah dengan menyisipkan kode berikut pada bagian atas setiap halaman : Continue reading Tutorial PHP: Percepat Loading Web dengan Kompresi File PHP

Tutorial PHP: Parsing Data Kunjungan Situs dari AWStats Log

Menurut WikiPedia:

A unique visitor is a statistic describing a unit of traffic to a website, counting each visitor only once in the time frame of the report. This statistic is relevant to site publishers and advertisers as a measure of a site’s true audience size, equivalent to the term “Reach” used in other media.

artinya, Unique Visitor atau pengunjung khas adalah statistik yang menunjukkan trafik kunjungan sebuah website, dimana penghitungan dilakukan untuk tiap pengunjung pada satu kerangka waktu. Sedangkan AWStats sendiri merupakan salah satu software pencatat aktivitas situs / logging yang popular digunakan diberbagai mesin hosting web dewasa ini. Yang akan dibahas disini adalah bagaimana caranya mendapatkan statisktik pengunjung dari AWStats dengan PHP.

Source code

Pada dasarnya apa yang akan kita lakukan sangatlah sederhana. Skrip akan membuka url log awstats sebuah situs dengan username dan password tertentu. Halaman log tersebut akan dibuffer dan di pecah-pecah (parsing) kemudian ditampilkan ulang. Sourcecode berikut akan menampilkan jumlah unique visitors per bulan pada tahun ini dengan username, password dan URL yang sudah ditentukan terlebih dulu. Berikut sourcecodenya: Continue reading Tutorial PHP: Parsing Data Kunjungan Situs dari AWStats Log

Tutorial PHP: Membuat Client Twitter dengan Dabr

Pendahuluan

Twitter sebagai salah satu jejaring sosial raksasa didunia, memberikan akses yang luas kepada para penggunanya. Salah satu kunci suksesnya twitter adalah banyaknya jenis twitter client yang tersedia. Dari twitter client yang bawaan asli (www.twitter.com) sampai buatan para vendor handphone, tablet, PC, dan web-based. Dengan banyaknya varian client itulah, pengguna lebih mudah bercuap-cuap dan berinteraksi via twitter.

Untuk memudahkan pengembang aplikasi client untuk twitter, pihak pengembang Twitter menyediakan sejumlah API yang dapat digunakan cuma-cuma dengan lisensi dan peraturan tersendiri. API Twitter ini selanjutnya oleh para pengembang aplikasi dapat dibenamkan pada aplikasi buatannya, entah itu berbasis bahasa pemrograman apapun atau pada platform perangkat keras apapun.

Pada artikel kali ini, saya akan membahas bagaimana cara pembuatan client Twitter berbasis web. Kenapa berbasis web? karena dengan basis ini, kita bisa menciptakan layanan kreatif bertwitter tanpa terjebak pada fitur-fitur web twitter yang ada, misalnya fitur retweet penuh, retweet murni, pencarian hastagh, penelusuran lokasi dll. Dengan basis web, kita juga diuntungkan karena aplikasi buatan kita akan dapat dinikmati dengan mudah oleh berbagai macam pengguna, mulai dari yang berbasis browser WAP bawaan handphone, Opera Mini, Bolt, UCWeb, Blackberry, iPhone, iPad dll. Basis web juga memungkinkan kita memiliki kekuasaan penuh mengenai pengelolaan fitur dan server, karena yang memegang dan mengembangkan adalah kita sendiri. Continue reading Tutorial PHP: Membuat Client Twitter dengan Dabr

Tutorial PHP: Pembuatan Captcha dengan Font & Sudut Tertentu

CAPTCHA atau Captcha adalah suatu bentuk uji tantangan-tanggapan (challange-response test) yang digunakan dalam perkomputeran untuk memastikan bahwa jawaban tidak dihasilkan oleh suatu komputer. Proses ini biasanya melibatkan suatu komputer (server) yang meminta seorang pengguna untuk menyelesaikan suatu uji sederhana yang dapat dihasilkan dan dinilai oleh komputer tersebut. Karena komputer lain tidak dapat memecahkan CAPTCHA, pengguna manapun yang dapat memberikan jawaban yang benar akan dianggap sebagai manusia. Oleh sebab itu, uji ini kadang disebut sebagai uji Turing balik, karena dikelola oleh mesin dan ditujukan untuk manusia, kebalikan dari uji Turing standar yang biasanya dikelola oleh manusia dan ditujukan untuk suatu mesin. CAPTCHA umumnya menggunakan huruf dan angka dari citra terdistorsi yang muncul di layar.

Kali ini kita akan belajar membuat captcha dengan class SimpleCaptcha yang dibuat oleh Ver Pangonilo. Source code dari simplecaptcha ini sbb: Continue reading Tutorial PHP: Pembuatan Captcha dengan Font & Sudut Tertentu