0% menganggap dokumen ini bermanfaat (0 suara)
110 tayangan

Secure Web Programming

Dokumen tersebut membahas beberapa topik keamanan website seperti unvalidate input, broken access control, cross site scripting, dan SQL injection. Juga membahas cara memperketat keamanan server web dan PHP dengan menggunakan user yang bukan root, menonaktifkan display errors, dan memilih modul yang diperlukan. Selanjutnya membahas konsep Object Oriented Programming seperti class, inheritance, method overriding, encapsulation, static attribute, constructor, dan CodeIgniter sebagai PHP framework."

Diunggah oleh

rika apriani
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
110 tayangan

Secure Web Programming

Dokumen tersebut membahas beberapa topik keamanan website seperti unvalidate input, broken access control, cross site scripting, dan SQL injection. Juga membahas cara memperketat keamanan server web dan PHP dengan menggunakan user yang bukan root, menonaktifkan display errors, dan memilih modul yang diperlukan. Selanjutnya membahas konsep Object Oriented Programming seperti class, inheritance, method overriding, encapsulation, static attribute, constructor, dan CodeIgniter sebagai PHP framework."

Diunggah oleh

rika apriani
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 31

SECURITY ISSUE

 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

Sebuah framework menyediakan berbagai macam fungsi


siap pakai
Contoh PHP Framework
 Code Igniter
 Cake PHP
 Zend
 Symfoni
 dll.
CodeIgniter
 Merupakan salah satu PHP Framework yang
dikembangkan oleh Rick Ellis (ellislab.com)
 Codeigniter membantu web programmer dalam
membuat project web dengan lebih cepat
dibandingkan menggunakan kode secara manual.
 Codeigniter menyediakan userguide/pustaka yang
lengkap beserta contohnya.
 Keterangan lebih lanjut bisa di lihat di
www.codeigniter.com
Why Codeigniter ?
 Free/Gratis
 Ringan dan Cepat
 Menggunakan MVC (Model View Controller)
 Dokumentasi yang lengkap
 Library yang lengkap
 Mendukung berbagai basis data (DBMS)
 Keamanan dan XSS Filtering
 Mendukung enkripsi data
 dll
MODEL
 Model VIEW CONTROLLER (MVC)
Model merepresentasikan struktur data dari website.
Biasanya digunakan untuk membuat class yang berisi
update, insert, delete dan DML yang lain.
Model terdapat pada direktori
system/application/model
MODEL
 View VIEW CONTROLLER (MVC)
Merupakan informasi yang disajikan kepada
pengunjung website.
View berisi halaman html dengan bantuan css atau
javascript dan view biasanya di load oleh controller.
view terdapat pada direktori system/application/view
MODEL VIEW CONTROLLER (MVC)
 Controller
Controller merupakan penghubung antar model dan
view.
didalam controller terdapat class dan fungsi untuk
memproses permintaan dari view. Controller terdapat
pada direktori system/application/controller
MODEL VIEW CONTROLLER
 Contoh Penulisan Controller (MVC)
Buat file baru pada direktori
system/application/controllers/ dengan nama file
namacontroller.php dengan isi file sbb :
<?php
class namacontroller extends controller
{
function namacontroller()
{
parent::__construct();
}
…………………………..
}
?>
MODEL VIEW CONTROLLER
 Contoh Penulisan Model (MVC)
Buat file baru pada direktori
system/application/models/ dengan nama file
namamodel.php dengan isi file sbb :
<?php
class namamodel extends model
{
function namamodel()
{
parent::__construct();
}
…………………………..
}
?>
MODEL VIEW CONTROLLER
 Contoh Penulisan View (MVC)
Buat file baru pada direktori
system/application/views/ dengan nama file
namaview.php dengan isi file sbb :
<html>
<head><title></title></head>
<body>
<p>Ini websiteku</p>
<?php
echo $variable;
?>
</body>
</html>
MODEL VIEW CONTROLLER
 Contoh Pemanggilan (MVC)
Model, dan View Pada
Controller
<?php
class namacontroller extends controller
{
function namacontroller()
{
parent::__construct();
$this->load->model(‘namamodel’);
}
function index()
{
$variable[‘namaarray’]=$this->namamodel->method();
$this->load->view(‘namaview’,$variable);
}
}
?>
LIBRARY
Library merupakan kumpulan class dan fungsi yang
disediakan oleh codeigniter, library menyediakan fungsi-
fungsi yang bisa digunakan dalam membuat website,
misalnya library untuk akses ke database, mengirim email,
validasi input, dan lain-lain.
Contoh Pemanggilan Library
<?php
class namacontroller extends controller
{
function namacontroller()
{
parent::__construct();
$this->load->library(‘database’);
}
?>
HELPER
Helper hampir mirip dengan Library yang didalamnya
merupakan kumpulan class dan fungsi yang disediakan
oleh codeigniter, bedanya helper Cuma untuk pendukung
dan bersifat optional, misalnya form_helper, file_helper,
download_file helper dan lain-lain.
Contoh Pemanggilan helper

<?php
class namacontroller extends controller
{
function namacontroller()
{
parent::__construct();
$this->load->helper(‘download);
}
?>
Installasi CodeIgniter
 Download codeigniter dari website
http://codeigniter.com/downloads/

 Extract dan simpan pada document root


KONFIGURASI
 Config
 Database
 Autoload
 Routes
 dll
Konfigurasi Configuntuk mengkonfigurasi
Konfigurasi Config digunakan
base_url, dan konfigurasi umum website lainnya
Konfigurasi config terdapat pada file
system/application/config/config.php
Contoh :

$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";

Anda mungkin juga menyukai