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