Wednesday, May 6, 2009

scalable PHP APPS

Untuk membuat aplikasi php yang lebih bagus performance nya, selain dari arsitektur aplikasi dan database nya sendiri, juga perlu kita pikirkan rancangan arsitektur server nya.

Berikut rancangan arsitektur server aplikasi PHP yang saya sukai

Dari arsitektur di atas .. setidaknya ada beberapa hal , yang akan saya bahas di artikel selanjutnya :
  1. Load balancing dengan nginx
  2. Apa itu cgi dan fastcgi ? dan mengapa php fastcgi ?
  3. Mysql master slave replication
  4. Mysql proxy

Tuesday, May 5, 2009

PREVENT YOUR PHP APPS, FROM SQL INJECTION

MENURUT SAYA , CARA PALING MUDAH DAN SEDERHANA untuk menghindari sql injection di aplikasi php kita, adalah dengan menggunakan fungsi prepare statement yang di sediakan oleh pdo.

Bagi anda yang sudah menggunakan php5, bisa menggunakan pdo lib sebagai layer untuk koneksi aplikasi anda ke database.

referensi menarik dari PDO bisa anda baca di http://www.phpro.org/tutorials/Introduction-to-PHP-PDO.html

contoh prepare statement

/*** prepare the SQL statement ***/
$stmt = $dbh->prepare("SELECT username FROM tabel_user WHERE password = :pwd");

/*** bind the paramaters ***/
$stmt->bindParam(':pwd', $password, PDO::PARAM_STR, 5);

/*** execute the prepared statement ***/
$stmt->execute();

/*** fetch the results ***/
$result = $stmt->fetchAll();


kita telah binding :pwd dengan inputan $password di mana masukan yang di bolehkan ada string dengan panjang 5

cukup sederhana...