Secure Web Programming
Secure Web Programming
Unvalidate Input
Broken Access Control
Broken Authentication and Session Management
Cross Site Scripting (XSS)
SQL Injection
Denial of Service (DoS)
Insecure Cofiguration Management
HARDENING WEB SERVER AND
PHP
User Web Server (Apache) seharusnya bukan root
User Web Server(Apache) tidak digunakan untuk
regular login
Seleksi Modul yang diperlukan
Non-aktifkan direktori index
Menyembunyikan Error display_errors=off
PHP OBJECT ORIENTED
PROGRAMMING
OOP
Object Oriented Programmng merupakan paradigma
baru dalam teknik pemrograman, dimana issu
terpenting dari pemrograman OOP adalah object itu
sendiri.
CLASS
Class merupakan sekumpulan method/function yang
memiliki kesamaan
Contoh :
class rasa
{
Var $x;
function cinta()
{
$this->x='cintaku bukanlah cinta biasa';
echo $this->x;
}
}
// Cara Membuat Object “rasa” dan Memanggil Method “cinta”
$r= new rasa();
$r->cinta();
Inheritance(Pewarisan)
Sebuah class bisa diwarisi oleh class yang lain, artinya class yg mewarisi akan
memiliki sifat dari class yang diwarisinya
Contoh :
class rasa
{
function cinta()
{
echo ‘Karena tlah kutemukan cinta sejatiku’;
}
}
class hati extends rasa
{
function bahagia()
{
echo hatiku bahagia;
}
}
// Membuat Object “hati”,Memanggil Method “bahagia” dan “cinta”
$h= new hati();
$h->bahagia();
$h->cinta();
Method Overriding
Jika terdapat method yang sama pada class yang mewarisi dengan class yang
diwarisi maka yang akan dipanggil adalah method pada class yang
mewarisi
Contoh : class rasa
{
function cinta()
{
echo ‘Kumencintaimu lebih dari apapun’;
}
}
class hati extends rasa
{
function cinta()
{
echo ‘Cinta ini Membunuhku’;
}
}
// Cara Membuat Object “hati” dan Memanggil Method “cinta”
$h= new hati();
$h->cinta();
Encapsulation
Digunakan untuk melindungi data/variabel atau method/function
supaya tidak dapat diakses dari luar class
Contoh : class rasa
{
private function benci()
{
echo ‘jangan kau berkata benci’;
}
function cinta()
{
echo ‘Cinta itu buta’;
}
}
// Membuat Object “rasa” dan Memanggil Method “cinta” dan “benci”
$r= new rasa();
$r->cinta(); // ini pasti mau (cinta gitu loh)
$r->benci(); // yg ini pasti ga mau
Static Attribute
Adalah sebuah atribut yang diberikan kepadda member class(method atau
data) dimana method atau data tersebut bisa diakses tanpa harus
membuat object terlebih dahulu
Contoh :
Class rasa
{
Public static function benci()
{
echo ‘Benci tapi rindu’;
}
}
// cara memanggil object ‘rasa’ dan memanggil method statik ‘benci’
rasa::benci();
Constructor
Adalah method yang akan langsung dipanggil pada saat pembuatan object.
Membuat method constructor bisa dengan nama yang sama dengan class
atau dengan nama __construct
Contoh : class rasa
{
function rasa()
{
echo ‘aku punya rasa..’;
}
}
class hati
{
function __construct()
{
echo ‘hatiku hanya untukmu..’;
}
}
// Cara Membuat Object “rasa” dan hati
$r= new rasa();
$h= new hati();
CODE IGNITER
PHP FRAMEWORK
Introduction
PHP Framework digunakan sebagai alat bantu untuk
pemrograman PHP
<?php
class namacontroller extends controller
{
function namacontroller()
{
parent::__construct();
$this->load->helper(‘download);
}
?>
Installasi CodeIgniter
Download codeigniter dari website
http://codeigniter.com/downloads/
$config['base_url']= "http://localhost/websiteku/";
$config['global_xss_filtering'] = true;
Konfigurasi
Konfigurasi DatabaseDatabase
digunakan untuk mengkonfigurasi
jenis database, host, user, password, namadatabase, dll
Konfigurasi database terdapat pada file
system/application/config/database.php
Contoh :
$db['default']['hostname'] = "localhost";
$db['default']['username'] = "root";
$db['default']['password'] = "";
$db['default']['database'] = “websiteku";
$db['default']['dbdriver'] = "mysql";
$db['default']['dbprefix'] = "";
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
Konfigurasi Autoload
Konfigurasi Autoload digunakan untuk memangggil library,
helper, model, plugin dan lainnya secara otomatis saat
website diakses, biasanya yang diload secara otomatis
adalah yang akan sering digunakan dalam controller
Konfigurasi autoload terdapat pada file
system/application/config/autoload.php
Contoh :
$autoload['libraries'] = array('database','session','form_validation');
$autoload['helper'] = array('form','url','js','html');
Konfigurasi Routesuntuk merubah atau
Konfigurasi Routes digunakan
membelokkan URI yang akan dipanggil ke class atau
object lainnya.
Konfigurasi routes terdapat pada file
system/application/config/routes.php
Contoh :
$route['default_controller'] = “websiteku";