Wednesday, June 13, 2012

prestashop

Tutorial Instalasi PrestaShop

prestashop adalah software web instant yang dapat digunakan untuk membangun sebuah toko online secara gratis.
PRESTASHOP dapat di install pada webhosting dengan spesifikasi antara lain : berbasis linux atau windows, PHP versi 5.0 keatas, apache versi 1.3 atau IIS6 keatas.
Dan berikut adalah panduan untuk instalasinya :
  1. Download file prestashop versi terbaru,
  2. Ekstrak file yang telah di download dengan menggunakan winrar atau winzip sehingga menghasilkan folder prestashop di komputer anda.
  3. Buat database dan user database baru di hosting anda melalui cPanel pada menu mysql database.
    1 2
  4. Buat folder baru di direktory utama hosting anda (public_html) dengan nama sesuai dengan yang diinginkan. (jika folder yang dibuat adalah dengan nama tokosaya, maka situs prestashop anda akan dapat diakses dengan alamat http://domain-anda.com/tokosaya)
  5. Upload seluruh file di dalam folder prestashop yang telah di ekstrak tadi ke folder public_html/tokosaya dengan menggunakan FTP seperti filezilla, ws-ftp, cute-ftp atau lainnya.
    3
  6. Setelah semua file dan folder sukses di upload, silahkan akses url instalasi : http://domain-anda.com/tokosaya/install
    lalu klik menu NEXT
  7. Pada instalasi tahap berikutnya, jika ada kendala di bagian permission folder dan file, silahkan untuk merubah permission folder dan file yang bertanda minus (-) dan berwarna merah menjadi 777 (chmod), pada tahap ini jika mengalami kesulitan dapat langsung menghubungi Customer Care IDwebhost. (PENTING: setelah proses instalasi selesai folder dan file dalam tahap ini, HARUS dikembalikan ke permission semula)
    Setelah selesai klik Refresh Settings dan Klik menu NEXT
    permission
  8. Tahap selanjutnya dalah untuk database, sesuaikan dan isi kolom database dengan database dan user serta password seperti yang telah dibuat pada tahap ke-3 Lalu Klik NEXT
    database
  9. Tahap selanjutnya, silahkan isi untuk informasi data anda sebagai admin dan informasi deskripsi toko online anda, lalu kelik NEXT
    selesai
  10. Hapus folder install pada direktory web toko online anda
    Rename folder admin menjadi folder lain (contoh: admintoko)
  11. Selesai.

web server

Mengenal Web Server

Share on :
Pada postingan kali ini kita akan mengenal dan mengetahui Apa itu Web server dan konfigurasikan web server 2003,. web server adalah perangkat lunak server yang berfungsi menrima permintaaan http atau https dari klien yand dikenal dengan web browser dan mengirimkannya kembali dalam bentuk halaman website
Langkah-langkah Konfigurasi Web Server
1. Pertama kita masukkan CD Windows Server 2003 pada CD-ROM
2. Mulai dengan klik start menu
3. Lalu pilih “Control Panel”
4. Kemudian pilih “add or remove programs”
5. Setelah itu pilih “add or remove windows components”
6. Pada windows components pilih “Application Server”,
7. Kemudian pilih “Detail” 
8. Setelah itu beri tanda centang pada “Internet Information Services (IIS)”. Klik OK
9. Tunggu beberapa saat ketika computer mencopy data dari CD. Setelah itu klik Finish.
10. Setelah IIS diinstall, klik start menu => administrative tools => Internet Information Services (IIS) Manager.
11. Klik kanan pada folder “Web Sites” kemudian pilih New => Web Site…
12. Klik Next pada “Web Site Creation Wizard”
13. Isi deskripsi web pada “Web Site Description”. Lalu next
14. Masukkan IP Address yang akan digunakan untuk Web site ini. Lalu next
15. Pada “Web Site Home Directory”, klik Browse untuk meletakkan direktori web. Cari folder Inetpub =>wwwroot. Kemudian klik Ok. Lalu Next
16. Klik Next pada “Web Site Access Permissions”. Ini untuk memperbolehkan apa saja yang bisa dilakukan pada web tersebut. Jadi centang saja “Read”. Lalu next
17. Setelah itu Klik Finish.
18. Setelah jadi, klik kanan pada web site yang telah kita buat tadi. Lalu pilih Properties
19. Pada Properties, masuklah pada halaman “Documents”. Lalu tambahkan Seperti : Index.php, Index.html, Index.asp dan lainnya. Lalu klik Apply & OK
20. Web server pun jadi.

ajax progamming

DEFINISI AJAX PROGRAMMING


            Istilah AJAX digunakan pada website yang berinteraksi dengan server melalui javascript secara asinkron (background), sehingga pengguna tidak perlu untuk meload keseluruhan halaman. Hal ini menyebabkan pengiritan waktu dan bandwidth, juga menghasilkan website yang makin interaktif. Seperti kebanyakan artikel pada umumnya, website yang dijadikan contoh AJAX sejati adalah GMail. Bagi yang pernah menggunakan GMail, tentu merasakan kehandalan interface webmailnya dengan AJAX.
Untuk mengaplikasikan AJAX (Asyncronous Javascript And XML) dalam website, yang dibutuhkan adalah browser dengan kemampuan Javascript, dan komponen XMLHTTP bagi pengguna IE, dan XMLHttpRequest untuk Firefox dan browser lainnya. Syarat-syarat tersebut hampir pasti sudah terpenuhi, mengingat pengguna internet kita banyak yang menggunakan IE dan Firefox .
           Sebenarnya tidak ada hal baru dalam AJAX, karena yang digunakan adalah teknologi javascript, yang notabene sudah lama digunakan. Karena itu, bagi yang sudah terbiasa dengan javascript, akan mudah sekali mempelajari AJAX.
Pembahasan ini tidak menekankan pada salah satu teknologi (Javascript, AJAX, HTML, PHP),  tapi keseluruhan dari hal tersebut. Hal ini karena penggunaan AJAX tidak hanya pada sisi klien (browser), tapi juga melibatkan respon dari server.
Sebagai acuan, berikut ini adalah salah satu kerangka dasar AJAX, yang katanya bikinan Mr Rasmus Redlorf, the creator of PHP.
Simpan dengan namafile: ajaxify.js
01.function createRequestObject() {
02.var ro;
03.var browser = navigator.appName;
04.if(browser == "Microsoft Internet Explorer"){
05.ro = new ActiveXObject("Microsoft.XMLHTTP");
06.}else{
07.ro = new XMLHttpRequest();
08.}
09.return ro;
10.}
11. 
12.var http = createRequestObject();
13. 
14.function sndReq(action) {
15.http.open('get', 'rpc.php?action='+action);
16.http.onreadystatechange = handleResponse;
17.http.send(null);
18.}
19. 
20.function handleResponse() {
21.if(http.readyState == 4){
22.var response = http.responseText;
23.var update = new Array();
24. 
25.update = response.split('|');
26.if((response.indexOf('|' != -1)) && (update[0] == "OK")) {
27.document.getElementById("hasil").style['color'] = '#00f';
28.document.getElementById("hasil").innerHTML = update[1];
29.}
30.else
31.{
32.document.getElementById("hasil").style['color'] = '#f00';
33.document.getElementById("hasil").innerHTML = "Respond dari server tidak sesuai";
34.}
35.}
36.}
Kode di atas adalah AJAX yang sangat dasar, yang jika ingin dikembangkan, masih butuh untuk dimodifikasi lagi.
          Untuk melaksanakan proses request, dibutuhkan obyek XMLHttpRequest. Pada kode di atas, hal tersebut dilakukan pada fungsi createRequestObject(), yang hasilnya disimpan dalam obyek http.
Dalam fungsi tersebut, jika browser yang digunakan adalah IE, maka yang diciptakan adalah obyek Microsoft.XMLHTTP, dan XMLHttpRequest untuk browser lainnya.
Fungsi berikutnya, yaitu sndReq(), berfungsi sebagai pengirim request kepada server. Pada contoh di atas, request yang dilakukan adalah dengan method ‘get’, dan action/datanya diletakkan pada URL-nya.
          Pada kasus sebenarnya, mungkin saja suatu saat nanti dibutuhkan pengiriman data melalui method ‘post’. Untuk hal seperti ini, dibutuhkan teknik yang lebih jauh. Kali ini kita gunakan method ‘get’ dulu.
Pada fungsi sndReq() ditentukan bahwa yang akan menangani hasil request adalah fungsi handleResponse(), dan setelah melakukan pengiriman (send), tugas dari fungsi sndReq() telah berakhir.
Fungsi yang akan sangat sibuk dalam AJAX adalah fungsi handleRequest(), karena di sinilah segala respon dari server ditangani.
Dalam contoh ini, yang ditangani adalah ketika request telah komplit diterima (readyState == 4).  Data yang diambil adalah responseText, yaitu seluruh teks hasil kembalian dari server. Jika ingin menangani kembalian data yang berupa XML, maka data yang diambil adalah responseXML.
Untuk kasus di atas, diharapkan response dari server berupa:
“status|Pesan”
Sehingga script akan langsung mengetahui status request, dan merubah isi div yang telah disediakan dengan teks respon dari server.
Pemanfaatan kode di atas, mengharuskan kita menyediakan script dengan nama rpc.php, dan halaman HTML dengan suatu div untuk menampilkan hasil respon.
Berikut ini contoh file rpc.php:
01.<?php
02. 
03.$action = $_GET['action'];
04.switch($action)
05.{
06.case "hariini" : echo "OK|".date("j F Y H:i:s");
07.break;
08. 
09.case "namaserver" : echo "OK|".$_SERVER['SERVER_NAME'];
10.break;
11. 
12.case "ipuser" : echo "OK|".$_SERVER['REMOTE_ADDR'];
13.break;
14. 
15.case "versiphp" : echo "OK|".phpversion();
16.break;
17. 
18.default : echo "ERROR|Perintah tidak diketahui ($action)";
19.break;
20.}
21. 
22.?>

Ini adalah contoh halaman HTML yang memanfaatkan AJAX:
 
01.<html>
02.<head>
03.<title>AJAX Test</title>
04.<script type='text/javascript' src='ajaxify.js'></script>
05.</head>
06.<body>
07.<h3>AJAX Test</h3>
08.<hr/>
09.<p>
10.Silakan klik link ini:<br/><br/>
11.<a href='javascript:sndReq("hariini")'>Hari Ini</a><br/>
12.<a href='javascript:sndReq("namaserver")'>Nama server</a><br/>
13.<a href='javascript:sndReq("ipuser")'>Alamat IP</a><br/>
14.<a href='javascript:sndReq("versiphp")'>Versi PHP</a><br/>
15.<a href='javascript:sndReq("tidaktau")'>Tidak diketahui</a><br/>
16.</p>
17.<div id='hasil'></div>
18.<div style='text-align: center; margin: 0px auto'>
20.<img src='http://www.bengkelprogram.com/images/banner88x31.gif' alt='info:    http://www.bengkelprogram.com' style='border: 0px'/>
21.</a>
22.</div>
23.</body>
24.</html>

Untuk mengaplikasikan AJAX dalam situs anda, banyak hal yang harus dipikirkan, diantaranya adalah:
  • Kelebihan dan kekurangan yang didapatkan oleh pengguna anda
    Jangan sampe user anda kesulitan berhadapan dengan interface baru, meski secara teori, interface AJAX justru mempermudah.
  • Keterbatasan user
    Browser yang support AJAX memang sudah banyak, tapi bagaimana dengan user yang benar-benar tidak dapat menjalankan AJAX?
  • Handling yang banyak
    Ini adalah beban buat programmer, bagaimana menangani berbagai kemungkinan. Misalnya jika transfer tidak sukses, jika user membatalkan proses, jika browser tidak diaktifkan javascriptnya, dan lain sebagainya.

cara menyertakan file di PHP

Guys :) setelah saya explore lebih dalam lagi dengan bahasa pemograman php. Ternyata saya dapat mengetahui bahwa php merupakan bahasa pemograman web yang sangat interaktif. dapat kita buat sesuai kebutuhan kita.
Pada tulisan ini saya akan membahas tentang bagaimana menyertakan file kedalam php. Dalam PHP, Anda dapat memasukkan isi satu file PHP ke file lain PHP sebelum server mengeksekusinya.
Termasuk dan membutuhkan pernyataan yang digunakan untuk memasukkan kode yang berguna ditulis dalam file lain, dalam aliran eksekusi.
Sertakan dan memerlukan identik, kecuali atas kegagalan:
  • membutuhkan akan menghasilkan kesalahan fatal (E_COMPILE_ERROR) dan menghentikan script
  • mencakup hanya akan menghasilkan peringatan (E_WARNING) dan script akan terus
Jadi, jika Anda ingin eksekusi untuk pergi dan menunjukkan pengguna output, bahkan jika include file yang hilang, pergunakan termasuk. Jika tidak, dalam kasus Framework, CMS atau kompleks PHP coding aplikasi, selalu gunakan perlu menyertakan file kunci untuk aliran eksekusi. Ini akan membantu menghindari mengorbankan keamanan aplikasi Anda dan integritas, hanya dalam kasus satu file kunci sengaja hilang.
File termasuk menghemat banyak pekerjaan. Ini berarti bahwa Anda dapat membuat header standar, footer, atau menu file untuk semua halaman web Anda. Kemudian, ketika header perlu diperbarui, Anda hanya dapat memperbarui include file header.
Sintaksis
1include 'filename';
2 
3or
4 
5require 'filename';
PHP termasuk dan membutuhkan Pernyataan
Dasar Contoh
Asumsikan bahwa Anda memiliki file header standar, disebut “header.php”. Untuk menyertakan file header di halaman, menggunakan include / membutuhkan:
1<html>
2<body>
3 
4<?php include 'header.php'; ?>
5<h1>Welcome to my home page!</h1>
6<p>Some text.</p>
7 
8</body>
9</html>
Contoh 2
Anggaplah kita memiliki sebuah file menu standar yang harus digunakan pada semua halaman.
“Menu.php”:
1<a href="/default.php">Home</a>
2<a href="/tutorials.php">Tutorials</a>
3<a href="/references.php">References</a>
4<a href="/examples.php">Examples</a>
5<a href="/about.php">About Us</a>
6<a href="/contact.php">Contact Us</a>
Semua halaman di situs Web harus menyertakan file menu. Berikut adalah bagaimana hal itu bisa dilakukan:
01<html>
02<body>
03 
04<div class="leftmenu">
05<?php include 'menu.php'; ?>
06</div>
07 
08<h1>Welcome to my home page.</h1>
09<p>Some text.</p>
10 
11</body>
12</html>
Contoh 3
Anggaplah kita memiliki sebuah file termasuk dengan beberapa variabel yang didefinisikan (“vars.php”):
1<?php
2$color='red';
3$car='BMW';
4?>
Kemudian variabel dapat digunakan dalam file panggilan:
01<html>
02<body>
03 
04<h1>Welcome to my home page.</h1>
05<?php include 'vars.php';
06echo "I have a $color $car"; // I have e red BMW
07?>
08 
09</body>
10</html>
source: http://www.w3schools.com/php/php_includes.asp

web security

Web security
Web Security adalah tata cara mengamankan aplikasi web yg dikelola, biasanya yg bertanggung jawab melakukannya adalah pengelola aplikasi web tsb.


Berbicara 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, princip CIA sudah selayaknya dijadikan pedoman yang harus dipahami apabila ingin website kita 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.


Idealisme Web 2.0 yang dapat mengajak siapa pun menjadi kontributor artikel-artikel di dalam sebuah website, membuat siapa pun dapat mengakses halaman administrator untuk memberikan kontribusinya baik dalam bentuk artikel maupun manajemen. Hal ini sangat berbahaya mengingat pada halaman administrator kita dapat mengedit file-file yang menjadi theme dari website yang bersangkutan. Dalam kasus WordPress, untuk mengantisipasi tangan-tangan jahil orang yang tak dikenal, developer WordPress sendiri telah mengantisipasi hal ini dengan cara membuat role-role dari setiap user yang dimiliki. Sebagai contoh, Role selain administrator tidak dapat mengubah theme dan/atau plugin website yang bersangkutan. Sehingga tidak mungkin pengubahan theme dilakukan oleh user selain administrator. Lebih lengkap mengenai fitur-fitur yang dapat diakses oleh role-role user dapat dilihat di artikel: Perbedaan Role pada WordPress.


Dengan pembagian Role seperti ini data ataupun informasi seperti list user-user hanya akan dapat dilihat oleh sang administrator sedangkan profile user dapat di akses oleh masing-masing user. Dengan demikian tingkat keamanan dapat dikatakan semakin tinggi


INTEGRITY
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.


Terkadang user dengan Role yang lebih rendah dari administrator dapat (dengan cara tertentu, termasuk didalamnya karena ketidaksengajaan) melakukan hal ini sekalipun ia tidak dapat mengakses data yang sedang diubah ataupun dihancurkan itu. Tindakan ini terkadang adalah tindakan yang memang tidak di sengaja oleh user tersebut, namun tetap terjadi diakibatkan karena adanya error dalam applikasi web yang sedang digunakan.


Untuk membuat website menjadi lebih aman, hal ini tentunya harus dihindari. Salah satunya adalah dengan mengaplikasikan salah satu proses yang wajib ada dalam sebuah proses software engineering yaitu proses testing. Proses testing ini dibagi menjadi dua yaitu:
- Black box testing
- White box testing
Secara sederhana black box testing adalah mengetes aplikasi yang diperuntukkan oleh user yang memang mengakses website tersebut (act like enduser -bertindaklah sebagai seorang user/pemakai). Sedangkan untuk whitebox testing mengkhususkan diri kepada testing fungsi-fungsi yang telah ditulis dalam bahasa pemrograman tertentu (PHP, Perl, ASP, Javascript, dan lain sebagainya). Testing-testing ini dibagi menjadi tiga test berdasarkan input aplikasi atau fungsinya, yaitu test dengan menggunakan input value:

Yang memang dikehendaki
Pas diperbatasan
Di luar batasan
Apabile memang terdeteksi error dari testing ini sebaiknya segera diperbaiki sebelum error ini ditemukan oleh hacker yang kemudian digunakannya untuk mengeksploit website kita.


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). Website yang terkena serangan seperti DoS (Denial of Service) yang berarti menolak untuk memberikan service kembali dikarenakan traffic yang sangat padat sehingga membuat server menjadi down, memberikan bukti bahwa keamanan website tersebut telah jebol.


Sebuah website yang aman haruslah dapat mengantisipasi adanya serangan-serangan yang membuat website tidak beroperasi dikarena server yang digunakan telah down. Selain DoS ada juga Buffer Overflow yang membuat applikasi web tidak dapat bekerja, atau bahkan masalah kelebihan pemakaian bandwidth yang cenderung dilupakan karena lupa untuk mengkalkulasi target user dari hadirnya sebuah wesbite. Selain itu masalah kualitas perangkat-perangkat keras yang digunakan termasuk perangkat-perangkat lunak seperti Operating System ataupun driver-driver agar perangkat keras tersebut dapat berfungsi sebagaimana mestinya, juga harus mendapatkan prioritas yang tinggi. Kegagalan sebuah perangkat lunak ataupun keras dapat membuat website tidak dapat diakses atau dipergunakan sesuai dengan yang diharapkan.


Dengan hadirnya engine seperti WordPress, Joomla, Drupal, atau lainnya tampaknya seringkali masalah security ini terabaikan. Yang perlu diingat adalah fremework-framework ini memang dapat memecahkan masalah confidentiality dan sedikit integrity. Namun prinsip availability sebagian besar ditangani oleh server di mana website ini disimpan. Oleh karena itu, jika ingin website kita aman (secure), pertimbangan akan pemakaian hostingan juga perlu dilakukan dengan baik sebelum memilih hostingan yang memang cocok untuk mengantarkan website kita ke dunia maya.