Archive for the ‘web trick’ Category

Desain website juga harus memperhatikan kebudayaan lho…

Posted by kamal on November 21st, 2008 under web trick
Tags: , , , , , , , , , , , , , , , , , , ,  •  3 Comments

Eits… kata siapa ngedesain website cuma perlu memikirkan sisi artistiknya saja. Kalau Anda berpikir seperti itu, Anda salah total! Kenyataannya ada banyak sekali aspek yang harus diperhatikan dalam mendesain sebuah halaman web. Mulai dari sisi usability-nya, consumer behaviour-nya, waktu penggunaannya dan lain sebagainya. Satu sisi yang ingin saya bahas lebih detail disini adalah sisi kultural alias sisi kebudayaan.

Lho? apa hubungannya kebudayaan sama web desain? Tentu ada hubungannya. Kenyataannya, beda kebudayaan beda pula persepsi orang pada tampilan sebuah website. Contoh paling mudah adalah mengenai arah tulisan. Secara global, arah tulisan itu kan biasa dibaca dari kiri ke kanan. Tapi pada kebudayaan arab, arah tulisan itu dari kanan ke kiri. Perbedaan ini akan memberikan pengaruh tersendiri pada pengunjung website kita. Jika sang pengunjung tidak terbiasa dengan arah tulisan tersebut misalnya. Maka kedepannya, website kita tidak akan lagi dikunjungi oleh pengunjung tersebut.

Contoh lainnya sebenarnya banyak. Misal, persepsi masing-masing budaya terhadap warna itu berbeda-beda. Warna merah di Spanyol bisa diartikulasikan secara berbeda dengan warna merah di negeri Cina. Penggunaan animasi juga berbeda-beda pandangannya pada setiap lokasi/kebudayaan.

Saya menemukan sebuah makalah online yang membahas mengenai hal ini (itu makanya saya nulis tentang bginian ^^). Kalau ingin baca papernya silahkan klik disini. Paper itu merupakan hasil riset dari para penulisnya tentang behaviour yang dimiliki oleh web desainer dari Singapura dan Australia. Sang penulis membagi dua tipe user dalam sisi penerimaan mereka terhadap desain web, yaitu: Kolektivis dan Individualis. User kolektivis adalah user yang menyukai tampilan web yang standar-standar saja. Sama seperti kebanyakan web yang ada saat ini. Sementara individualis lebih menginginkan tampilan website yang bisa mereka kontrol sendiri untuk melakukan kustomisasi dan personalisasi. Pada paper tersebut disebutkan bahwa web desainer dari Singapura merupakan representasi user kolektivis sementara web desainer Australia merupakan representasi user individualis. Inilah tabel hasil risetnya. Silahkan dibaca :)

Karakteristik

Sikap pengembang web

Singapura

Australia

Penggunaan warna

Menggunakan skema warna tertentu (tergantung pilihan perusahaan)

Perusahaan tidak mempedulikan preferensi warna

Representasi gambar

Logo perusahaan sangat penting

Prestise perusahaan lebih penting daripada sekedar logo

Penggunaan simbol

Tidak ada skema tertentu

Tidak ada skema tertentu

Penggunaan animasi

Elemen penting

Elemen yang tidak terlalu penting

Penggunaan gambar

Sangat sering dipakai

Lebih banyak menggunakan teks

Fungsionalitas website

Pelanggan bukan pertimbangan utama

Reaksi pelanggan berpengaruh besar bagi desain

Jadi, intinya… kalau mau mendesain sebuah website, apalagi websitenya bersifat global. Coba buat banyak tampilan yang bisa terkustomisasi untuk masing-masing wilayah dengan kebudayaannya masing-masing.

Tips Memilih Web Hosting Profesional

Posted by kamal on October 28th, 2008 under web knowledge, web trick
Tags: , , , , , , , ,  •  11 Comments

Sesuai dengan postingan univind.blog yang ini: blog.univind.com - rahasia besar bisnis web hosting di Indonesia, disitu saya menjanjikan akan membuat tulisan lanjutan, maka inilah dia tulisan lanjutannya. Sebuah tips untuk menetukan mana usaha web hosting yang profesional dan mana yang non profesional.

Sebelumnya saya ingin tekankan dulu, bahwa baik yang profesional maupun tidak profesional itu punya kelebihan dan kekurangan masing-masing. Kelebihan dan kekurangannya sudah sempat saya ulas di postingan yang sebelumnya. Makanya dibaca ya… :) Jadi, postingan kali ini hanya untuk memberi tips buat Anda yang ingin menggunakan jasa web hosting profesional supaya tidak tertipu dan malah menggunakan web hosting yang biasa-biasa saja.

Sebenarnya agak sulit untuk membedakan mana web hosting yang profesional dan mana yang bukan. Tips-tips yang ada dibawah ini tidak sepenuhnya akurat. Namun, bisa jadi pedoman untuk menebak mana web hosting yang profesional dan mana yang bukan.

Ini dia tipsnya…

Click to continue reading “Tips Memilih Web Hosting Profesional”

Enkripsi Get Parameter

Posted by sipur on September 20th, 2008 under pemrograman web, web trick
Tags: , , , , , , , , , , , , ,  •  2 Comments

Yah, sering berurusan dengan get parameter pada saat membuat suatu halaman web seperti http://apalah.com/index.php?id=1&page=2. Yakin bahwa hal tersebut aman untuk situs yang ingin dibuat? Saya rasa kita semua tahu mengenai XSS (Cross Side Scripting), apakah Anda khawatir dengan hal tersebut?

Mungkin alternatif solusi yang bisa dipilih adalah dengan mengenkripsi get parameter yang akan kita kirim melalui halaman web. Salah satu enkripsi yang bisa digunakan adalah dengan menggunakan AES (Advance Encryption Standard). Berikut ini tahapan-tahapan yang mesti dilakukan jika ingin menggunakan AES untuk enkripsi pada halaman web.

1. Persiapkan master class library untuk AES-nya. Class library bisa didownload pada situs Phpclass.net atau link berikut ini. Pada dasarnya konsep enkripsi get parameter dengan menggunakan AES terdiri atas 4 bagian penting. Pertama adalah proses enkripsi parameter, kemudian meletakannya di halaman web. Lalu proses dekripsi yang dilanjutkan retrieval get parameter yang ditransfer tadi.
2. Pertama adalah proses enkripsi parameter. Buatlah instance dari kelas AES yang ada, kemudian enkripsikan get parameter yang ingin ditransfer, berikut code nya.//function to encrypt url

public function encryptParam($content) {
 
      global $aespath;
 
      include_once($aespath.'/AES.class.php');
 
      $key256 = '603deb1015ca71be2b73aef0857d77811f352c073b6108d72d9810a30914dff4';
 
      //set aes 256 bit
 
      $Cipher = new AES(AES::AES256);
 
      if(strlen($content) > 16){
 
      $content = str_split($content,16);
 
      $i=0;
 
      //do encrypting
 
      while($i<count ($content)){
 
      $temp = $Cipher->stringToHex($content[$i]);
 
      $encrypted .= $Cipher->encrypt($temp, $key256);
 
      $i++;
 
      }
 
      }
 
      else {
 
      $temp = $Cipher->stringToHex($content);
 
      $encrypted = $Cipher->encrypt($temp, $key256);
 
      }
 
      return $encrypted;
 
      }
</count>

Fungsi encrypt($param) pada AES library ini hanya mendukung enkripsi untuk 16 bytes data, jadi kita harus memecah input data terlebih dahulu menjadi potongan 16 bytes ketika input yang ada lebih dari 16 bytes. Dalam contoh di atas, yang digunakan adalah AES dengan key sepanjang 256 bit.
3. Kedua adalah peletakan get param ketika akan ditransfer [saya menggunakan PRADO PHP Framework], misalkan saya ingin menulis alamat url berikut [dalam variable php]

$url = “http://apalah.com?pages=Home&id=1&user=3″;, maka tinggal dirubah menjadi

$url = “http://apalah.com?pages=Home&”.encryptParam(”id=1&user=3″);, dalam kasus ini pages=Home tidak dienkrip karena informasi tersebut akan digunakan oleh si Prado.
4. Tahap ketiga adalah pengambilan get parameter yang telah dienkripsi. Sebagai contoh kode berikut :

      //decrypting parameter to be parse
 
      $param = explode("&",$_SERVER['REQUEST_URI']);
 
      $getparam = $this->User->decryptParam($param[1]);
 
      //split param
 
      $splited_param = $this->User->splitParam($getparam);

$splited_param merupakan array dua dimensi yang berisi get parameter dengan ketentuan. $splited_param[$i]['name'] merupakan nama get parameter, dan $splited_param[$i]['value'] merupakan nilai dari get parameter. $i adalah indeks parameter, nilai maksimum $i-1 adalah jumlah parameter get yang ditransfer. Sebagai contoh dalam kasus ini $splited_param[0]['name'] berisi “id” dan $splited_param[0]['value'] berisi “1″. Berikut ini fungsi tambahan yaitu decryptParam(), splitParam()

      //decrypt
 
      public function decryptParam($encrypted) {
 
      global $aespath;
 
      include_once($aespath.'/AES.class.php');
 
      $key256 = '603deb1015ca71be2b73aef0857d77811f352c073b6108d72d9810a30914dff4';
 
      //set aes 256 bit
 
      $Cipher = new AES(AES::AES256);
 
      //do decrypting
 
      if(strlen($encrypted)>32){
 
      $content = str_split($encrypted,32);
 
      for($i=0;$i<count ($content);$i++) {
 
      $temp = $Cipher->decrypt($content[$i], $key256);
 
      $decrypted .= $Cipher->hexToString($temp);
 
      }
 
      else {
 
      $temp = $Cipher->decrypt($encrypted, $key256);
 
      $decrypted = $Cipher->hexToString($temp);
 
      }
 
      //echo $string;
 
      return $decrypted;
 
      }
 
      //split get parameter
 
      public function splitParam($param){
 
      $temp = explode("&",$param);
 
      $count = count($temp);
 
      $i=0;
 
      while($i< $count){
 
      $temp1 = explode("=",$temp[$i]);
 
      $splited[$i]['name']=$temp1[0];
 
      $splited[$i]['value']=$temp1[1];
 
      $i++;
 
      //echo $temp[$i].'<br/> ';
 
      }
 
      return $splited;
 
      }
</count>

Semoga bermanfaat, jika masih bingung silahkan kontak di sipur@univind.com atau YM saya di and_thau