Sabtu, 24 Juli 2010

web programming

PHP

PHP adalah sebuah skrip pemrograman yang terletak dan dieksekusi di server.
FUNGSINYA adalah untuk menerima,mengolah dan menampilkan data dari dan ke sebuah situs
Php dapat membuat situs menjadi dinamis karena data situs tersebut dapat selalu berubah sesuai dengan permintaaan
MySQL adalah salah satu jenis program database server, berfungsi untuk mengolah , menyimpan dan memanipulasi data diserver.
 Variabel adalah suatu tempat untuk meyimpan data. Data yang disimpan sewaktu-waktu bisa saja kita panggil atau diganti dengan kata lain.
 Mendefinisikan variabel cukup dengan memilih sebuah kata( akan menjadi nama variabel) yang di awali tanda $, kemudian isikan nilai dari variabel tersebut.
 Contoh
$hari=“sabtu”;
$tanggal=11;
dan lain-lain.
“ bagaimana menyimpan Data kesebuah variabel?”
 Mudah! Sudah anda praktek sebelumnya
Caranya
$variabel_anda=data_anda
 Contoh: $saya=“ belajar php”;
“ setelah saya bisa menyimpannya , bagaimana cara mengakses data tersebut?”
 Cukup anda panggil nama variabel nya saja,contoh:
$angka1=2;
$angka2=5;
$hasil=$angka1+$angka2;
Sekarang $hasil berisi 5
Untuk menampilkan hasil ke browser cukup panggil dgn echo, print dan printf nama variabel yg di inginkan. Contoh : echo($hasil).
 Skrip variabel.php
$tulisan=“memberi nilai variabel”;
$bilbulat=23;
$bildesimal=3.5;
echo(“ Tulisan: $tulisan”);
echo(“
”);
echo(“Bilangan Bulat: $bilbulat”);
echo(“
”);
echo(“Bilangan Desimal: $bildesimal”);
?>
LOGIN KE DB MYSQL
Mysql_connect (“[host]”,”[username]”,”[password]”);
◦[host] : diisi dengan nama host/ IP address komputer tempat database mysql di install.
◦[username] : diisi dengan nama user yang mempunyai hak akses kedalam database mysql (administrator).
◦[password] : password user tersebut
$koneksi = mysql_connect (“localhost”, “root”, “root”);

MEMILIH DATABASE
mysql_select-db (“[nama_database]”,”[variabel_koneksi]”);
}Keterangan:
◦[nama_database] : diisi dengan nama database yang digunakan.
◦[variabel_koneksi] : variabel yang digunakan untuk melakukan koneksi ke MySQL.
}Contoh: mysql_select_db (“ponselkita_db”, “$koneksi”);

MELAKUKAN QUERY
mysql_query (“[query]”, “[variabel_koneksi]”);
}Keterangan:
◦[query] : diisi dengan perintah query (SQL) yang akan dilakukan ke MySQL server.
◦[variabel_koneksi] : variabel yang digunakan untuk melakukan koneksi ke MySQL.
}Contoh:
$hasil = mysql_query (“SELECT * FROM ponsel “, $koneksi);

MENAMPILKAN HASIL QUERY
mysql_fetch_row (“[variabel_query]”);
fungsi ini menghasilkan suatu array yang berisi seluruh kolom dari sebuah baris pada suatu himpunan hasil. Fungsi ini mempunyai sifat membaca baris berikutnya dalam suatu himpunan hasil. Bila tidak ada baris lagi, fungsi ini akan memberikan nilai balik. [variabel_query] adalah sebuah variabel yang digunakan untuk menyimpan hasil query yang dilakukan sebelumnya.

mysql_fetch_field (“[variabel_query]”, “[nomor_kolom]”);
}Keterangan:
fungsi ini digunakan untuk memperoleh informasi suatu
kolom/ field. Penomoran kolom dimulai dari nol.

KONEKSI
?
//konfigurasi variabel koneksi
$host = “localhost”; //nama host
$user = “root”;
$password = “root”;
$dbase = “ponselkita_db”;
//koneksi dengan mysql
$koneksi = mysql_connect ($host, $user, $password);
//memilih database yang akan digunakan
mysql_select_db ($dbase, $koneksi);
?

E-COMMERCE
 “A modern business methodology that addresses the needs of organizations, merchants, and consumers to cut costs while improving the quality of goods and services and increasing the speed of service delivery over the Internet”
 Penggunaan media elektronik untuk melakukan perniagaan / perdagangan
 Telepon, fax, ATM, handphone, SMS
 Banking: ATM phone banking, internet banking
 Secara khusus
 Penggunaan Internet untuk melakukan perniagaan
 Disukai? karena kenyamanannya?

Manfaat E-Commerce
 Suatu gerakan baru
 Market exposure, melebarkan jangkauan
 Menurunkan biaya
 Memperpendek waktu product cycle
 Meningkatkan customer loyality
 Meningkatkan value chain

Tradisional vs Elektronik
 Sulit promosi & akses pasar
 ketimpangan persaingan dagang
 paperwork
 ekonomi biaya tinggi & birokrasi
 prosedur manual
 pasar kurang kompetitif

vs
 Akses pasar mudah
 penilaian independent
 paperless
 negosiasi & penawaran standard
 kemudahan permintaan produk baru.
 Alur informasi transparant
 pelayanan interaktif

Jenis E-Commerce
 Business to business (B2B)
 Antra perusahaan, data berulang, e-procurement
 Business to consumer (B2C)
 Retail, pelanggan yang bervariasi, konsep Portal
 Consumer to consumer (C2C)
 Lelang (auction)
 Government: G2G, G2B, G2C (citizen)
 e-procurement

Hambatan / Tantangan
 Internet bust! Hancurnya bisnis Internet
 Infrastruktur telekomunikasi yang masih terbatas dan mahal
 Delivery channel
 Kultur dan Kepercayaan (trust)
 Security
 Munculnya jenis kejahatan baru
 Ketidakjelasan hukum
 Efek sampingan terhadap kehidupan

Delivery Channel
 Pengiriman barang masih ditakutkan hilang di jalan. Masih banyak “tikus”
 Ketepatan waktu dalam pengiriman barang
 Jangkauan daerah pengiriman barang
 Peluang: pengiriman barang yang terpercaya
Kultur & Kepercayaan
 Orang Indonesia belum (tidak?) terbiasa berbelanja dengan menggunakan catalog
 Masih harus secara fisik melihat / memegang barang yang dijual
 Perlu mencari barang-barang yang tidak perlu dilihat secara fisik. Misal: buku, kaset, …
 Kepercayaan antara penjual & pembeli masih tipis
 Kepercayaan kepada pembayaran elektronik masih kurang.
 Penggunaan kartu kredit masih terhambat
 Peluang: model bisnis yang sesuai dengan kultur orang Indonesia, membuat sistem pembayaran baru, pembayaran melalui pulsa handphone

Security
 Masalah keamanan membuat orang takut untuk melakukan transaksi
 Persepsi merupakan masalah utama
 Ketidak mengertian (lack of awareness) merupakan masalah selanjutnya
 Merupakan topik tersendiri ...

Munculnya Jenis Kejahatan Baru
 Penggunaan kartu kredit curian / palsu
 Penipuan melalui SMS, kuis
 Kurangnya perlindungan kepada konsumen
 Hukum? Awareness?
 Kurangnya kesadaran (awareness) akan masalah keamanan

Ketidakjelasan Hukum
 Masih belum tuntas status dari
 Digital signature
 Uang digital / cybermoney
 Status hukum dari paper-less transaction
 [de]Regulasi

Mobile Commerce: Overview
 Mobile commerce (m-Commerce,
m-Business)—any e-Commerce done in a wireless environment, especially via the Internet
 Can be done via the Internet, private communication lines, smart cards, etc.
 Creates opportunity to deliver new services to existing customers and to attract new ones

m-Commerce Terminology
 Generations
 1G: 1979-1992 wireless technology
 2G: current wireless technology; mainly accommodates text
 2.5G: interim technology accommodates graphics
 3G: 3rd generation technology (2001-2005) supports rich media (video clips)
 4G: will provide faster multimedia display (2006-2010)

M-commerce Infrastructure
Software
 Micro browser
 Mobile client operating system (OS)
 Bluetooth—a chip technology and WPAN standard that enables voice and data communications between wireless devices over short-range radio frequency (RF)
 Mobile application user interface
 Back-end legacy application software
 Application middleware
 Wireless middleware
Mobile Application: Financial Tool
 As mobile devices become more secure
 Mobile banking
 Bill payment services
 Mobile money transfers
 Replace ATM’s and credit cards??

Mobile Applications : Marketing, Advertising, And Customer Service
 Shopping from Wireless Devices
 Have access to services similar to those of wireline shoppers
 Shopping carts
 Price comparisons
 Order status
 Future
 Will be able to view and purchase products using handheld mobile devices
 Targeted Advertising
 Using demographic information can personalize wireless services (barnesandnoble.com)
 Knowing users’ preferences and surfing habits marketers can send:
 User-specific advertising messages
 Location-specific advertising messages
Limitations of m-Commerce
 Usability Problem
 small size of mobile devices (screens, keyboards, etc)
 limited storage capacity of devices
 hard to browse sites
 Technical Limitations
 lack of a standardized security protocol
 insufficient bandwidth
 3G
 Technical Limitations…
 transmission and power consumption limitations
 poor reception in tunnels and certain buildings
 multi-path interference, weather, and terrain problems and distance-limited connections
 WAP Limitations
 Speed
 Cost
 Accessibility
Kebutuhan M-Commerce
 Device independence
 M-Commerce harus bisa dijalankan pada platform mobile device apapun
 Bearer Independence
 Perlu mendukung WAP, SMS, GPRS, dan UMTS
 Security yg handal
 Reliability
 Menjamin bahwa data-data tetap benar, valid, dan tidak terjadi inkonsistensi data
 Notifications
 Menginformasikan semua kebutuhan ke pengguna


SECURITY WEB
 Keamanan komputer -> fisik
◦ Dari bencana alam
◦ Dari pencuri
◦ Dari serangan / bom
 Keamanan sistem informasi -> non fisik
◦ Dari sisi software dan data
Komponen Security (CIA-AN)
 Confidentiality: akses terhadap sistem komputer tidak boleh dilakukan oleh unauthorized parties
 Integrity: aset sistem komputer tidak boleh dimodifikasi oleh unauthorized users
 Availability: Sistem harus dapat selalu online/ada sehingga dapat diakses oleh authorized users
Tambahan
 Authenticity: sistem mengetahui asal muasal suatu objek atau asal muasal modifikasi yang terjadi
 Non-repudiation: seseorang/sesuatu tidak dapat menyanggah bahwa dia melakukan sesuatu

Ancaman
 Ancaman (threat) adalah:
◦ Seseorang, sesuatu, kejadian atau ide yang menimbulkan bahaya bagi suatu aset
◦ Threat muncul dari vulnerability (kelemahan sistem & desain)
 Serangan (attack) adalah realisasi dari threat.
 Klasifikasi threats:
◦ Disengaja (mis. hacker penetration);
◦ Tidak disengaja (mis. Mengirimkan file yang sensitif ke alamat yang salah)
 Threats yang disengaja dapat dibagi lagi :
◦ Pasif – tidak kontak langsung (mis. monitoring, wire-tapping,);
◦ Aktif – kontak langsung (mis. mengubah nilai transaksi finansial)

Tujuan Security
 Prevention - Penjagaan
◦ Prevent attackers from violating security policy
 Detection - Deteksi
◦ Detect attackers’ violation of security policy
 Recovery - Mereparasi
◦ Stop attack, assess and repair damage
◦ Continue to function correctly even if attack happen

Tahapan penyerangan
 Reconnaissance
◦ Mengumpulkan data mengenai target
 Aktif dan pasif
 Scanning
◦ Tanda dimulainya serangan, berusaha mencari jalan masuk
 Gaining access
◦ Mendapatkan target
 Maintaining access
◦ Mempertahankan akses dgn berbagai cara termasuk menanamkan program dan memperbaiki kelemahan
 Covering tracks
◦ Menutupi jejak mereka

Level Serangan
 Level Sistem Operasi
◦ Patch & upgrade
 Level aplikasi
◦ Patch, Antivirus & Upgrade
 Level Shrink Wrap code
◦ Menggunakan program2 bantu untuk serangan
 Level Kesalahan konfigurasi

 SMTP servers (port 25)
◦ sendmail: “The address parser performs insufficient bounds checking in certain conditions due to a char to int conversion, making it possible for an attacker to take control of the application”
 RPC servers (port 111 & others)
 NetBIOS shares (ports 135, 139, 445)
◦ Blaster worm
◦ Sasser worm
 FTP servers (ports 20, 21)
◦ wuftpd vulnerabilities
 SSH servers (port 22)
◦ OpenSSH, PAM vulnerabilities
 Web servers (ports 80, 443)
◦ Apache chunked encoding vulnerability
Web server attack
 Scan to find open ports
 Find out what’s running on open ports (banner grabbing)
 Profile the server
◦ Windows (look for Kerberos, NetBIOS, AD)
◦ Unix
◦ Use TCP fingerprinting
 Probe for weaknesses on interesting ports
◦ Default configuration files and settings (e.g. popular IIS ones)
◦ Buffer overflows
◦ Insecure applications
 Launch attack
◦ Use exploit code from Internet…
◦ …or build your own

Kelemahan security pada aplikasi web
Berikut adalah 10 kelemahan security teratas
pada aplikasi web
 Masukan (input) yang tidak tervalidasi
 Aplikasi web menerima data dari HTTP request yang dimasukkan oleh user
 Hacker dapat memanipulasi request untuk menyerang keamanan situs
 Hal – hal yang harus diperhatikan ketika mengelola validasi:
 Tidak cukup hanya bergantung pada script client side yang biasa digunakan untuk mencegah masukan form ketika ada input yang invalid
 Penggunaan kode validasi untuk memeriksa masukan tidak mencukupi
 Broken Access Control
 Pada aplikasi yang membedakan akses dengan menggunakan perbedaan ID, hanya menggunakan satu halaman untuk memeriksa user.
 Jika user berhasil melewati halaman login, maka dia bebas melakukan apa saja
 Permasalahan lain adalah:
 ID yang tidak aman
ID bisa ditebak
 Ijin file
File yang berisi daftar user bisa dibaca orang lain

 Pengelolaan Autentikasi dan Session yang tidak baik
 Beberapa hal yang harus diperhatikan:
 Password strength
 Penggunaan password
 Penyimpanan password
 Session ID Protection
 Cross site scripting
 Buffer overflows
 Pengiriman request yang dapat membuat server menjalankan kode kode yang tidak biasa

 Injections flaws
 Penyerang mengirimkan “inject” calls ke OS atau resource lain, seperti database
 Salah satu yang terkenal adalah SQL Injection
 Penyimpanan yang tidak aman
 Keamanan server juga menjadi hal penting dalam hal keamanan aplikasi web
Berikut adalah beberapa kesalahan konfigurasi pada server :
 Lubang keamanan yang tidak ditambal (patched)
 Ijin file dan direktori yang tidak baik
 Account default dengan password default

 Denial of Service
 Pengelolaan konfigurasi yang tidak aman

Web vulnerabilities
 Intercept informasi dari klien
◦ Data, password, dll
 Pencurian data di server
◦ Data, password, dll
 Menjalankan aplikasi di server
◦ Memungkinkan melakukan eksekusi program “ngak benar” di server
 Denial Of Services
 Server Side Scripting, Cgi-Bin
◦ Kesalahan pemograman membuka peluang

Three opportunities for theft:
 on server by other registered users
 into server using HTTP
 on network by snooping

Kemanan Web
 Authentikasi
◦ FORM HTML
◦ Basic, Digest
◦ Klien Side + Server Side Scripting
 Manajemen Sesi
 Menggunakan Layer lain
◦ S-HTTP ( discontinoued)
◦ HTTPS ( HTTP ovel SSL)
◦ IPSec
 Konfigurasi Web Server
◦ Hak Akses
◦ Indexes
◦ Penempatan File

Certificate
 Untuk mengkonfigurasi server, diperlukan sertifikat keamanan (security certificate)
 Security Certificate dikeluarkan oleh Certification Authorities (CAs)
 Jika tidak ada sertifikat dari CAs, bisa dibuat dengan menggunakan Java 1.4 SDK

Langkah-langkah untuk menaikkan tingkat keamanan browser
 Selalu mengupdate web browser menggunakan patch terbaru
 Mencegah virus
 Menggunakan situs yang aman untuk transaksi finansial dan sensitif
 Menggunakan secure proxy
 Mengamankan lingkungan jaringan
 Tidak menggunakan informasi pribadi
 Hati-hati ketika merubah setting browser

Tools used in this preso
 WebGoat –vulnerable web applications for demonstration
 VMWare – runs Linux & Windows 2000 virtual machines on demo laptop.
 nmap –host/port scanning to find vulnerable hosts
 Ethereal – network traffic sniffing
 Metasploit Framework – exploit tool
 Brutus – password cracking
 Sleuth – HTTP mangling against web sites

Web
World Wide Web ("WWW", atau singkatnya "Web") adalah suatu ruang informasi di mana sumber-sumber daya yang berguna diidentifikasi oleh pengenal global yang disebut Uniform Resource Identifier (URI). WWW sering dianggap sama dengan Internet secara keseluruhan, walaupun sebenarnya ia hanyalah bagian daripadanya.
• Pemrograman web: membuat aplikasi berbasis web
• Aplikasi berbasis web: Aplikasi yang dibuat dengan memanfaatkan mekanisme dan aplikasi yang sudah ada pada sistem web (WWW)

Kelebihan & Kekurangan AplikasiBerbasis Web
• Kelebihan:
– Dapat diakses kapan pun dan dari mana pun selama ada internet
– Dapat diakses hanya dengan menggunakan web browser (umumnya sudah tersedia di PC, PDA, dan handphone terbaru), tidak perlu menginstall aplikasi client khusus
• Kekurangan:
– Antarmuka yang dapat dibuat terbatas sesuai spesifikasi standar untuk membuat dokumen web dan keterbatasan kemampuan web browser untuk menampilkannya
– Terbatasnya kecepatan internet mungkin membuat respon aplikasi menjadi lambat

Bagaimana Web Bekerja ?
user mengetik URL di browser
browser menghubungi server yang tersebut pada URL
setelah terhubung, browser mengirimkan HTTP request
server menjawab dengan mengirim HTTP response (berisi
header dan isi dokumen)
untuk dokumen yang terdiri atas beberapa file (misalnya
dokumen bergambar), browser harus mengirimkan HTTP
request lagi untuk setiap file
browser menampilkan semua isi dokumen kepada user

• Client-side scripting umumnya mengacu kepada kelas
dari program komputer pada web yang dieksekusi client-side, oleh web browser nya pengguna. Tipe pemrograman komputer adalah bagian penting dari konsep Dynamic HTML (DHTML), yang memungkinkan web pages di-script; yakni, agar memiliki perbedaan dan perubahan isi yang bergantung pada masukan pemakai, kondisi lingkungan (seperti waktu dalam hari), atau variabel lain.

• Server-side scripting adalah suatu teknologi web server yang mana sebuah permintaan pemakai dipenuhi dengan menjalankan suatu script secara langsung pada web server untuk menghasilkan dynamic HTML pages. Hal ini biasanya digunakan untuk menyediakan web site yang interaktif yang merupakan antar muka ke database atau simpanan data lain. Hal ini berbeda dengan client-side scripting dimana scripts dijalankan oleh viewing web browser, biasanya dalam JavaScript.

• Server web adalah sebuah perangkat lunak server yang berfungsi menerima permintaan HTTP atau HTTPS dari klien yang dikenal dengan browser web dan mengirimkan kembali hasilnya dalam bentuk halaman-halaman web yang umumnya berbentuk dokumen HTML. Server web yang terkenal diantaranya adalah Apache dan Microsoft Internet Information Service (IIS). Apache merupakan server web antar- platform, sedangkan IIS hanya dapat beroperasi di sistem operasi Windows.

XAMPP adalah suatu paket software free berisi Apache HTTP Server, MySQL database dan tool yang perlu utuk menggunakan PHP dan Perl programming languages. Program di-release dibawah naungan GNU General Public License dan layanan bersifat bebas, mudah digunakan web server, mampu memberi halaman-halaman yang dinamis. Saat ini, XAMPP sudah tersedia untuk Windows, Linux, Sun Solaris dan Mac OS X (X dalam namanya dapat bermakna dapat digunakan untuk salah satu dari operating systems ini).

HTTP (HyperText Transfer Protocol) adalah protokol yang dipergunakan untuk mentransfer dokumen dalam World Wide Web (WWW). Protokol ini adalah protokol ringan, tidak berstatus dan generik yang dapat dipergunakan berbagai macam tipe dokumen.

Cookie
Nilai variabel disimpan di suatu tempat penyimpanan (file) di browser
KIRIM: setcookie("name", "value");
TERIMA: akses variabel $_COOKIE
Keterbatasan:
– cookie hanya dapat menyimpan sejumlah kecil data

Session
Nilai variabel disimpan di suatu tempat penyimpanan (file) di server
KIRIM dan TERIMA: akses variabel $_SESSION
Fungsi untuk session handling: session_start(),
session_id(), session_destroy(), dll.

Tidak ada komentar:

Posting Komentar

Silahkan ketikan komentar anda disini ya.. Trims