Arsitektur
Web Science
Arsitektur Website adalah suatu pendekatan terhadap desain dan perencanaan situs yang, seperti arsitektur itu sendiri, melibatkan teknis, kriteria estetis dan fungsional. Seperti dalam arsitektur tradisional, fokusnya adalah benar pada pengguna dan kebutuhan pengguna. Hal ini memerlukan perhatian khusus pada konten web, rencana bisnis, kegunaan, desain interaksi, informasi dan desain arsitektur web. Untuk optimasi mesin pencari yang efektif perlu memiliki apresiasi tentang bagaimana sebuah situs Web terkait dengan World Wide Web.
“Website arsitektur” memiliki potensi untuk menjadi istilah yang digunakan untuk disiplin intelektual mengatur konten website. ”Web desain”, dengan cara kontras, menggambarkan tugas-tugas praktis, bagian-bagian-grafis dan teknis, dari merancang dan menerbitkan sebuah situs web. Perbedaan tersebut dibandingkan dengan yang antara tugas mengedit sebuah koran atau majalah dan desain grafis dan pencetakan. Tetapi hubungan antara editorial dan kegiatan produksi adalah lebih dekat untuk publikasi web daripada untuk penerbitan cetak.
Ada tiga standar utama untuk penerapan web services. Standar-standar ini mendukung pertukaran data berbasis XML. Tiga standar tersebut meliputi SOAP, WSDL, dan UDDI. Berikut ini akan dijelaskan secara singkat mengenai standar tersebut,yaitu:
- SOAP (Simple Object Access Protocol)
- WSDL (Web Services Description Language)
- UDDI (Universal Description Discovery and Integration)
Keuntungan Arsitektur Web :
- Sebuah web dapat tersusun terstruktur.
- Dapat menyediakan tampilan desaign yang menarik.
- Dapat menyediakan mesin pencari sehingga para pengunjung web dapat mencari informasi dengan cepat.
- Dapat menyediakan tampilan form informasi dan kontak atau keanggotaan.
- Dapat membuat form tentang produk atau jasa, misalkan jumlah barang, harga barang, dan form penawaran barang.
Kekurangan Arsitektur Web :
- Dapat menyebabkan web tersebut berat untuk diakses.
- Harus diupdate setiap saat.
Aplikasi web adalah fitur yang ditambahkan pada sebuah web untuk mebuat sebuah tata halaman web yang menarik. Aplikasi merupakan sebuah fitur-fitur yang disediakan oleh pembuat web untuk memaksimalkan penggunaannya.
Struktur 3 (tiga) lapisan ini menghasilkan sebuah website yang mudah ditelusuri bagi pengunjung. Terdapat pula halaman-halaman yang tersedia pada sebuah website:
- Halaman Depan (Home Pages)
Setiap website memiliki halaman depan. Halaman depan merupakan halaman pertama yang dilihat oleh pengunjung dan juga merupakan halaman yang paling penting dalam mendapatkan urutan pencarian yang tinggi dari mesin pencari, karena mesin pencari memberikan lebih banyak bobot kepada halaman depan darimana halaman lainnya. Halaman depan harus memberikan informasi yang jelas dan singkat.
- Halaman Informasi
· Profil: berisi sejarah mengenai bisnis atau perusahaan, visi dan misi, siapa saja pengurus inti website atau perusahaan, dan hal-hal penting lainnya mengenai bisnis atau perusahaan.
· FAQ (Frequently Asked Question): berisi pertanyaan-pertayaan umum mengenai produk atau jasa.
· Testimoni: berisi kesaksian pelanggan mengenai penggunaan produk dan/atau jasa yang ditawarkan.
· Surat kabar elektronik: berisi berita-berita mengenai produk dan/atau jasa baru, tips-tips, promo-promo yang diadakan, serta pengumuman-pengumuman lainnya.
- Halaman Keanggotaan
Halaman keanggotaan merupakan bagian yang penting sekali untuk pengembangan website di masa mendatang. Dengan mengetahui siapa saja pengunjung dan perkembangan jumlah pengunjung aktif .
- Halaman Kontak
Halaman kontak berisi cara-cara untuk menghubungi pengurus website, bisa melalui email, telepon, fax, chatting, surat, ataupun dengan cara mengisi formulir pertanyaan atau komentar secara online. Hal ini akan memberikan rasa nyaman kepada pengunjung karena mereka bisa berhubungan dengan pemilik website.
Bagian-bagian dari Arsitektur Website:
1. Hypertext Transfer Protocol (HTTP)
HTTP adalah sebuah protokol jaringan lapisan aplikasi yang digunakan untuk sistem informasi terdistribusi, kolaboratif, dan menggunakan hipermedia.
2. WWW (World Wide Web)
WWW (World Wide Web) merupakan kumpulan web server dari seluruh dunia yang berfungsi menyediakan data dan informasi untuk dapat digunakan bersama.
3. URL (Universal Resource Locator)
URL( universal resource locator) merupakan suatu konsep penamaan lokasi standar dari suatu file,direktori,computer, dan lokasi komputernya sesuai dengan metode yang digunakan. URL tidak hanya dapat menunjuk ke suatu file tapi dapat juga menunjuk suatu query, dokumen dalam suatu database atau hasil dari perintah finger atau perintah archie .
URL( universal resource locator) merupakan suatu konsep penamaan lokasi standar dari suatu file,direktori,computer, dan lokasi komputernya sesuai dengan metode yang digunakan. URL tidak hanya dapat menunjuk ke suatu file tapi dapat juga menunjuk suatu query, dokumen dalam suatu database atau hasil dari perintah finger atau perintah archie .
4. XML (Extensible Markup Language)
XML (Extensible Markup Language) merupakan bahasa web turunan dari SGML (Standart Generalized Markup Language) yang ada sebelumnya. XML hampir sama dengan HTML, dimana keduanya sama-sama turunan dari SGML.
5. JavaScript
JavaScript adalah bahasa pemrograman berbasis prototipe yang berjalan disisi klien. jika kita berbicara dalam konteks web, sederhananya, kita dapat memahami JavaScript sebagai bahasa pemrograman yang berjalan di browser. Javascript dipanggil untuk memberikan fungsi pada halaman web dengan meletakannya secara internal pada halaman html diantara tag atau dibuat pada file terpisah ( eksternal ).
6. AJAX
AJAX disini adalah singkatan dari Asynchronous JavaScript and XML. Ajax merupakan gabungan beberapa teknologi yang bertujuan untuk menghindari page reload.
Daftar Pustaka
http://catatankinkin.blogspot.co.id/2015/03/definisi-sejarah-dan-arsitektur-web.html
18 Maret 2015
http://znlarifin.blogspot.co.id/2016/03/pengantar-web-science.html
18 Maret 2015
http://znlarifin.blogspot.co.id/2016/03/pengantar-web-science.html
Security
Web Science
Mengenai masalah yang berkaitan dengan keamanan di dalam era digital tidak lepas dari 3 prinsip utama yaitu Confidentiality, Integrity, dan Availability atau lebih dikenal dengan nama CIA. Sama halnya ketika bergelut dengan keamanan (security) sebuah website, prinsip CIA sudah selayaknya dijadikan pedoman yang harus dipahami apabila ingin website lebih aman dan sulit untuk diserang.
- Confidentiality
Confidentiality memiliki makna bahwa data-data ataupun informasi-informasi yang berada di dalam sebuah website hanya dapat di baca atau di akses oleh orang-orang yang memang memiliki kewenangan untuk mengaksesnya. Dalam era konsep Web 2.0 yang sedang berkembang beberapa tahun belakangan ini, sangat memungkinkan sebuah website untuk dapat memiliki lebih dari satu administrator. Contohnya adalah WordPress engine.
- IntegrityI
Integrity memiliki pengertian data-data yang berada didalam server atau website hanya dapat diubah ataupun di delete oleh orang yang memiliki kewenangan untuk melakukan hal itu. Sebagai contoh proses transfer dari server ke client atau sebaliknya (dapat berupa upload maupun download), ternyata mengubah file yang sedang di transfer tersebut, hal ini mengindikasikan bahwa sebuah aplikasi website yang sedang digunakan tidak aman (insecure). Sama halnya jika ada serangan sebuah virus yang dapat mengubah sebuah file, entah itu mengubah nama ataupun isinya.
- Availability
Jika confidentiality bermakna hanya user yang memiliki kewenangan yang dapat melihat data tertentu yang tersimpan didalam sebuah server atau website, availability memiliki makna bahwa website harus dapat diakses jika user ingin meggunakannya. Memang terkesan membingungkan dan tidak berbeda dengan prinsip pertama, namun kedua prinsip ini sangat jauh berbeda dikarenakan dilihat dari dua sudut pandang yang memang berbeda. Availability hanya menekankan kepada dapat diaksesnya sebuah website. Mengenai siapa yang dapat mengaksesnya itu telah dicover oleh prinsip confidentiality. Jika sebuah website dapat diakses tanpa adanya error, itu berarti website tersebut telah memenuhi prinsip availability ini. Hal ini memiliki makna bahwa sebuah website haruslah dapat diakses apabila memang dibutuhkan, dengan kata lain versi yang lebih mudahnya adalah, website harus available 24 jam 7 minggu (24/7)
Poin-poin penting dalam keamanan web
- Remote File Inklusi (RFI)
Remote File Inklusi (RFI) adalah jenis kerentanan paling sering ditemukan di situs Web, memungkinkan penyerang untuk menyertakan file jarak jauh yang biasanya melalui sebuah script di server web. Kerentanan terjadi karena penggunaan input yang diberikan pengguna tanpa validasi yang tepat. Hal ini dapat mengakibatkan sesuatu yang minimal keluaran isi file, tetapi tergantung pada beratnya, untuk daftar beberapa itu bisa mengarah pada:
- Kode eksekusi pada server web.
- Kode eksekusi di sisi-klien seperti Javascript yang dapat menyebabkan serangan lain seperti situs cross scripting (XSS).
- Denial of Service (DoS)
- Pencurian Data / Manipulasi
Dalam PHP penyebab utama adalah karena penggunaan unvalidated variabel eksternal seperti $ _GET, $ _POST, $ _COOKIE dengan fungsi filesystem, yang paling menonjol adalah meliputi dan membutuhkan laporan. Sebagian besar kerentanan dapat dikaitkan dengan programmer pemula tidak akrab dengan semua kemampuan bahasa pemrograman PHP. Bahasa PHP memiliki direktif allow_url_fopen dan jika diaktifkan memungkinkan fungsi filesystem untuk menggunakan URL yang memungkinkan mereka untuk mengambil data dari lokasi terpencil. Seorang penyerang akan mengubah variabel yang dilewatkan ke salah satu fungsi-fungsi ini menyebabkan itu untuk memasukkan kode berbahaya dari sumber daya remote. Untuk mengatasi ini, semua input pengguna harus divalidasi sebelum digunakan.
- Local File Inclusion (LFI)
Metode yang memanfaatkan kelemahan script PHP include(), include_once(), require(), require_once() yang variabel nya tidak dideklarasikan dengan sempurna. Dengan LFI seorang attacker dapat menginclude kan file yang berada di dalam server yang bersangkutan.
- SQL injection
SQL Injection adalah kode injeksi teknik yang memanfaatkan kelemahan keamanan yang terjadi pada lapisan aplikasi database. kerentanan ini hadir ketika masukan pengguna tidak benar baik disaring untuk menghindari karakter string literal tertanam dalam pernyataan SQL atau masukan pengguna tidak kuat diketik dan dengan demikian tak terduga dieksekusi. Ini adalah sebuah instance dari kelas yang lebih umum dari kerentanan yang dapat terjadi kapan pun salah satu bahasa pemrograman atau script yang tertanam di dalam yang lain. serangan injeksi SQL juga dikenal sebagai serangan penyisipan SQL.
- Cross Site Scripting (XSS)
Ekspresi "cross-site scripting" pada awalnya merujuk pada tindakan loading aplikasi, web diserang pihak ketiga dari sebuah situs serangan yang tidak berhubungan, dengan cara yang mengeksekusi sebuah fragmen JavaScript disusun oleh penyerang dalam konteks keamanan dari domain yang ditargetkan (a dipantulkan atau non-persistent kerentanan XSS). Definisi ini secara bertahap diperluas untuk mencakup modus lain injeksi kode, termasuk vektor persisten dan non-JavaScript (termasuk Jawa, ActiveX, VBScript, Flash, HTML atau bahkan murni), menyebabkan kebingungan untuk pendatang baru dalam bidang
Daftar Pustaka
http://galangalfarisi22.blogspot.co.id/2015/04/definisi-web-science-sejarah-web.html
http://www.sentranet.co.id/component/content/article/45-tips-a-trik/123-poin-poin-penting-dalam-keamanan-web.html
http://www.sentranet.co.id/component/content/article/45-tips-a-trik/123-poin-poin-penting-dalam-keamanan-web.html