Jumat, 09 April 2010

PENGANTAR TEKNOLOGI WEB 5

Web Hosting Server Technologies
Contributed by Rahmat Hidayat
Wednesday, 12 December 2007
Last Updated Wednesday, 12 December 2007
Ada beberapa teknologi yang dapat mendukung web hosting : Windows Hosting Windows hosting berarti hosting
pada suatu server yang menggunakan sistem operasi Windows. Anda dapat memilih Windows hosting jika anda
berencana menggunakan ASP (Active Server Pages) sebagai script di sisi server, atau jika anda berniat menggunakan
database yang mendukung windows seperti Microsoft Access atau Microsoft SQL Server. Windows hosting juga
merupakan pilihan terbaik jika anda ingin membangun website menggunakan Microsoft Front Page. Unix Hosting
Unix hosting berarti hosting pada sebuah server yang berjalan pada sistem Unix. Unix adalah sistem pertama yang
mendukung web server. Sistem ini sangat stabil dan aman bagi data anda. Bagi anda yang mengutamakan keamanan
data lebih baik mengambil jenis ini. Dari segi biaya software lebih murah daripada Windows. Linux Hosting Linux
hosting berarti hosting atau web services yang mana servernya menggunakan sistem operasi Linux. Sistem ini terkenal
aman, handal dan berkembang paling pesat. Ia dibangun oleh para ahli secara terbuka yang melibatkan ribuan orang
dan terus menerus dilakukan pengembangan. Sebagai penulis, saya sangat merekomendasikan penggunaan server ini.
CGI Web page dapat dijalankan sebagai CGI script. CGI script adalah scrip yang dapat dijalankan pada server guna
menghasilkan tampilan web page yang dinamis dan interaktif. Kebanyakan Internet service providers telah mendukung
beberapa macam CGI. Aplikasi web seperti buku tamu, penghitung halaman, chat-forum adalah sebagian aplikasi yang
banyak dibuat dengan CGI script. CGI banyak digunakan oleh server yang berjalan dalam lingkungan Unix atau Linux.
ASP - Active Server Pages Active Server Pages adalah teknologi server-side scripting technology yang dibangun oleh
Microsoft. Dengan menggunakan ASP anda dapat membuat halaman web yang dinamis. ASP dapat disisipkan pada file
web kita lalu akan berjalan pada sisi server, kemudian menghasilkan susunan HTML baru yang dapat dilihat oleh
browser. Kebanyakan browser internet saat ini sudah mendukung ASP. ASP menggunakan bahasa standar visual basic.
Dapat berjalan pada platform Windows 95,98, 2000, dan XP. Dia dapat juga dijalankan pada semua komputer yang
menggunakan sistem Windows. Kebanyakan web hosting providers telah mendukung ASP, karena ia merupakan
teknologi yang mudah digunakan dan paling populer. Chili!Soft ASP Teknologi Microsoft's ASP hanya dapat berjalan
pada platform Windows. Tetapi, Chili!Soft ASP merupakan produk baru yang memungkinkan ASP dapat berjalan di
UNIX dan sistem yang lainnya. JSP JSP adalah suatu teknologi script server-side yang hampir sama dengan ASP.
JSP dibangun oleh perusahaan software Sun. Dengan JSP anda dapat membuat halaman web yang dinamis dengan
menambahkan kode program ke dalam halaman HTML. Kode itu akan dijalankan dulu di server sebelum ia berjalan
pada sisi pengguna. FrontPage FrontPage adalah produk buatan Microsoft, yang merupakan software spesial untuk
merancang halaman web. Ia sangat populer karena sangat mudah pemakaiannya dan memiliki tools yang cukup
lengkap. Dengan FrontPage memungkinkan para perancang web tidak harus memiliki pengetahuan yang mendalam
tentang pemrograman web. Kebanyakan Windows hosting mendukung FrontPage server extension yang memberi
dukungan penuh FrontPage sebagai alat pembuat halaman web. Jika anda berencana membangun web menggunakan
FrontPage, anda sebaiknya memilih Windows hosting (dalam arti bukan Unix / Linux). PHP Seperti halnya ASP, PHP
juga merupakan server-side scripting yang mana ia juga digunakan untuk membuat halaman web yang dinamis dengan
cara meletakkan kode program pada halaman HTML. Kode itu dijalankan di sisi server sebelum terbaca oleh browser di
sisi pemakai. Cold Fusion Cold Fusion adalah jenis lain server-side scripting yang digunakan untuk membangun
halaman web yang dinamis. Cold Fusion dibangun oleh perusahaan software Macromedia. Keamanan Server Server
yang aman bisa menjaga keamanan data baik dari segi keasliannya maupun kerahasiaannya, sekaligus menjaga
keutuhan data sepanjang perjalanan dari server ke client atau sebaliknya. Server yang aman sangat diperlukan untuk
mengolah data yang sifatnya rahasia seperti : - Transaksi credit card ; keamanan account dan nilai transaksi - Private
Web communication ; kerahasiaan komunikasi - Internet Virtual Money Payment ; pembayaran digital melalui internet -
Dan lain-lain

Revolusi teknologi pada dekade terakhir ini memberi dampak yang sangat signifikan dalam cara melakukan bisnis. Berbagai istilah seperti e-commerce, e-business, B2B (Business-to-Business) dan B2C (Business to Consumer) mulai sering muncul di media bisnis dan pada literatus-literatur produk. Tren dan praktek bisnis mulai berubah secara drastis. Daya kekuatan yang mendorongnya adalah pergeseran teknologi, termasuk internet. Internet bertindak sebagai daya kekuatan yang mempersatukan semua entitas logika bisnis hosting dengan para pelanggan. Internet mampu memperluas jangkauan bisnis dan dengan demikian perusahaan mulai mengubah strategi bisnisnya serta tetap kompetitif.

Vendor-vendor seperti IBM, BEA, Netscape, Sun dan Microsoft, mulai memunculkan beragam teknologi infrastruktur yang mendukung strategi bisnis. Akhirnya, para praktisi bisnis dan manajer mulai memperluas penggunaan teknologi tersebut dan mulai menjalankan bisnis melalui internet. Akan tetapi, bertepatan dengan dibukanya pintu bisnis secara elektronik tersebut , maka terbuka juga pintu bagi para pelaku kejahatan, yakni dengan cara membobol sistem dan mengambil banyak keuntungan dari usaha orang lain. Jalan tol informasi kini menjadi jalan tol perampokan. Pada tulisan ini nantinya akan dibahas tentang trik-trik yang digunakan para perampok di internet dalam melakukan pencurian pada sebuah e-store, dimana hal ini dinamakan dengan e-shoplifting

I. Teknik-teknik Hacking pada Web aplikasi

Ada beberapa teknik hacking pada web aplikasi diantaranya adalah sebagai berikut:

1. Hidden Manipulation

Field-field tersembunyi sering digunakan untuk menyimpan informasi tentang sesi klien, untuk menjaga kompleksitas database pada server side. Seorang klien biasanya tidak melihat field tersembunyi dan juga tidak berusaha untuk mengubahnya. Bagaimanapun juga memodifikasi form field sangatlah sederhana. Sebagai contoh , marilah kita anggap bahwa harga sebuah produk disimpan dalam field tersembunyi. Seorang hacker dapat mengubah harganya, seperti berikut ini :

· Membuka sebuah halaman html dengan HTML editor.

· Menempatkan sebuah field tersembunyi (contoh., "

value=99.95>")

  • Memodifikasi nilainya dengan nilai yang berbeda (contoh. "

value=1.00>")

  • Menyimpan file html ditempat itu dan mem-browse-nya.
  • Mengklik tombol "buy" untuk menampilkan e-shoplifting melalui hidden manipulation.

2. Parameter Tampering (Perusakan Parameter)

Kegagalan untuk mengkonfirmasi kebenaran dari parameter-parameter Common Gateway Interface (CGI) yang tersimpan dalam hyperlink., dapat dengan mudah digunakan untuk mematahkan keamanan situs. Seperti di bawah ini :

Search.exe?template=result.html&q=security

Dengan mengganti parameter template, seorang hacker dapat memperoleh akses menuju file yang diinginkannya,

seperti /etc/passwd atau private key situs contoh : Search.exe?template=/etc/passwd&q=security

3. Cookie Poisoning

Umumnya Web aplikasi menggunakan cookie dengan tujuan untuk menyimpan informasi (user id, time stamp, dan lain-lain.) pada sisi klien. Sebagai contoh, ketika seorang user log ke beberapa situs, sebuah login CGI memvalidasi user name-nya dan password-nya dan mengeset sebuah cookie dengan identifier numerik-nya. Ketika user mengecek preference-nya kemudian, CGI yang lain (sebut saja, preferences.asp) me-retrive cookie dan menampilkan catatan-catatan user information sesuai dengan user-nya. Data-data yang tersimpan dalam cookie tidaklah aman, seorang hacker dapat memodifikasi-nya, jadi informasi yang terdapat pada cookie tersebut dapat dicuri dan dimanfaatkan oleh hacker.

II. Perampokan Acme Fashion, Inc.

Pada pertengahan th 1990an, ketika popularitas Web sedang menanjak, wakil manajer pemasarannya memutuskan untuk membuat situs www.acme-fashions.com bagi perusahaannya dan meletakkan dan meletakkan semua katalog di sana. Tim marketing kemudian sibuk membuat halaman HTML dan mengkonversi katalog-katalognya dalam bentuk elektronis.

Tetapi, begitu ada penjualan melalui situs Web tersebut, muncul juga keluhan-keluhan pelanggan. Kebanyakan keluhan ditujukan kepada departemen keuangan dan gudang. Departemen keuangan sering menerima keluhan mengenai produk yang dijual berharga lebih rendah daripada harga yang ditetapkan, padahal tidak ada diskon atau promosi yang ditawarkan. Karyawan di bagian pengiriman sering bingung sewaktu mereka mendapat order pengiriman dengan jumlah barang tertulis dalam angka negatif. Ketika kerugian hampir mencapai 100.000 dolar, akhirnya pihak direksi memanggil tim ahli sekuriti.

3.1. Melacak Masalah

Toko Web Acme – www.acme-fashions.com – telah menerapkan beberapa teknologi berikut ini:

Sistem Operasi Microsoft Windows NT 4.0

Web Server Microsoft Internet Information Server (IIS) 4.0

Katalog Online Template dan Active Server Page (ASP)

Database back-end Microsoft Access 2.0

Shopping Troli Shopcart.exe

Katalog HTML dibuat dengan menggunakan template dan Active Server Pages. Tim pemasaran pernah menggunakan FoxPro untuk database-nya dan menghasilkan halaman katalog HTML secara otomatis. Kemudian database Fox-Pro itu dikonversi ke dalam database Microsoft Access dan antarmukanya memakai ASP. Aplikasi trolli belanjanya, Shocart.exe, di setup pada server, serta template ASP didesain untuk menghasilkan HTML yang terhubung dengan aplikasi troli belanja. Troli belanja mengambil informasi produk dari HTML tersebut. Saat itu, kelihatannya semua cara itu sangat mempermudah dan mempercepat kesiapan toko elektronis dan bisa online sebelum deadline.

Shopcart.exe mempunyai sistem session management-nya sendiri, untuk menjalankan sesi troli belanja, yang bergantung pada cookie dan server-side session identifier. Karena tidak dimungkinkan untuk memodifikasi Shopcart.exe, tugas-tugas untuk memvalidasi input diserahkan ke JavaScript yang bekerja pada browser pelanggan.

3.2. Bahaya Tersembunyi pada Field-Field Tersembunyi

Setelah dipelajari ternyata ditemukan sebuah lubang pada cara penerapan sistem troli belanja. Dimana satu-satunya cara untuk menghubungkan harga dengan produknya melalui tag-tag tersembunyi pada halaman HTML. Gambar 3.1. menunjukkan halaman yang menampilkan baju-baju dan katalog di http://www.sceme-fashions.com.

Setiap baju memiliki hubungan dengan form penerimaan kuantitas baju yang dibeli dan terhubung juga dengan troli belanja. Pada kode HTML seperti yang diperlihatkan pada gambar 3.2. juga dapat ditemukan kelemahannya, yakni pada beberapa baris terakhir.

Sumber : http://www.cert.or.id/~budi/courses/ec7010/2004-2005/yefriadi-report2.doc

PENGANTAR TEKNOLOGI WEB 4

JAVASCRIPT

Pengantar JavaScript

• JavaScript digunakan pada Web pages untuk meningkatkan design,

validate forms, detect browsers, create cookies, GUI dsb

• JavaScript adalah bahasa scripting yang paling populer di internet

dan bekerja pada banyak browser seperti Internet Explorer, Mozilla,

Firefox, Netscape, Opera.

• Menggunakan sintaks seperti C++/Java

• Lihat di http://www.w3schools.com/js/

Apa itu JavaScript?

• JavaScript dirancang untuk menambah interaktif HTML pages

• JavaScript adalah bahasa scripting (bahasa scripting adalah sebuah

lightweight programming language)

• JavaScript terdiri dari baris-baris code executable computer

• JavaScript biasanya embedded secara langsung pada HTML pages

• JavaScript adalah interpreted language (artinya bahwa scripts dijalankan

tanpa di kompile terlebih dahulu)

• Setiap orang dpt menggunakan JavaScript tanpa harus membeli license


Apakah Java dan JavaScript sama ?

• Java dan JavaScript adalah dua bahasa yang berbeda baik dari sisi konsep

maupun dari sisi desain

• Java (dikembangkan oleh Sun Microsystems) adalah sebuah bahasa

pemrograman yang powerful & sangat kompleks – sama dengan C & C++.


Apa yang dapat dilakukan JavaScript ?

JavaScript dapat bereaksi terhadap events - JavaScript dapat di-set untuk menjalankan saat

terjadi sesuatu, seperti sebuah page telah selesai dipanggil atau saat seorang user meng-klik pada

HTML element

JavaScript dapat membaca dan menulis HTML elements - JavaScript dapat membaca dan

mengubah isi dari HTML element

JavaScript dapat digunakan untuk mem-validasi data - JavaScript dapat digunakan untuk

mem-validasi form data sebelum di-submitted ke server, hal ini akan mengamankan server dari

pemrosesan extra

JavaScript dapat digunakan untuk mendeteksi browser pengunjung - JavaScript dapat

digunakan untuk mendeteksi browser pengunjung dan – memanggil page lain yang secara specifik

didesain untuk browser tersebut

JavaScript dapat digunakan untuk membuat cookies - JavaScript dapat digunakan untuk

menyimpan dan memanggil informasi di komputer pengunjung


Pemrograman Client-Side

• HTML cocok untuk mengembangkan static pages

▪ Dapat digunakan membuat text/image layout, presentation, links, …

▪ Web page tampak sama setiap kali diakses

▪ Untuk mengembangkan interactive/reactive pages, harus diintegrasikan dengan programming

• Pemrograman client-side

▪ Programs ditulis dalam bahasa pemrograman yang terpisah

contoh : JavaScript, JScript, VBScript

▪ Programs diembedded pada HTML Web page, untuk mengidentifikasi komponen program

Contoh :

▪ Untuk menjalankan program guna menampilkan page digunakan browser, yang

mengintegrasikan dynamic output dengan static content dari HTML

Scripts vs. Programs

• Bahasa scripting adalah simple, termasuk bahasa pemrograman interpreted

scripts di-embedded sebagai plain text, interpreted by application

simpler execution model : tidak membutuhkan compiler / development environment

saves bandwidth : source code di-download, tidak mengcompile executable

platform-independence : kode di terjemahkan oleh banyak script-enabled browser

Tetapi : lebih lambat daripada compiled code, tidak powerful/full-featured

JavaScript: adalah Web scripting language pertama, yang dikembangkan oleh Netscape pada

tahun 1995. Mirip dengan Java/C++, tetapi lebih sederhana dan lebih fleksibel (loose typing,

dynamic variables, simple objects)

JScript: adalah JavaScript versi Microsoft, diperkenalkan tahun 1996 core language yang sama,

tetapi beberapa browser-specific seperti, IE & Netscape umumnya dapat menangani

JavaScript & JScript

VBScript: adalah client-side scripting versi Microsoft Visual Basic


Common Scripting Tasks

• Menambahkan dynamic features pada Web pages

▪ validation of form data

▪ image rollovers

▪ time-sensitive or random page elements

▪ handling cookies

• Mendefinisikan programs dengan Web interfaces

▪ Menggunakan buttons, text boxes, clickable images, prompts, frames

• Keterbatasan dari client-side scripting

▪ Karena script code di-embedded dalam page, maka script dapat dilihat

▪ Untuk alasan keamanan, apa yang dapat dilakukan oleh script dibatasi

Contoh : tidak dapat mengakses hard drive client

▪ Karena dirancang untuk berbagai platform, maka script tidak berisi perintah khusus untuk

setiap platform

▪ Script languages tidak full-featured

Contoh : Objek JavaScript tidak cocok untuk pengembangan proyek yg besar


Sintaks JavaScript

• Program JavaScript dituliskan pada file HTML (.html atau .htm) menggunakan tag


Contoh Program JavaScript

JavaScript Page

Here is some static text as well.

document.write menampilkan teks dalam

page

Teks yang ditampilkan dapat termasuk

HTML tags

tags diterjemahkan oleh browser saat teks

ditampilkan

Seperti pada C++/Java, statement diakhiri

dengan ;

Komentar pada JavaScript sama dengan

C++/Java

//

awal satu baris komentar

/*…*/ akhir dari beberapa baris komentar

Tipe Data dan Variabel JavaScript

• JavaScript hanya mempunyai 3 tipe data primitive

String : "foo" 'howdy do' "I said 'hi'." ""

Number : 12 3.14159 1.5E6

Boolean : true false

Data Types and Variables

Inisialisasi seperti pada C++/Java

message = "howdy";

pi = 3.14159;

Nama variable terdiri dari letters, digits, dan

underscores: diawali dengan letter

Nama variables adalah case-sensitive

you don't have to declare variables, will be

created the first time used, but better if you

use var statements

var message, pi=3.14159;

Lebih Lengkapnya Baca Disini : Java Script