Thursday 12 January 2017

Karang Beach Bali

Hi! Let me tell you about another tourism object in Bali, Karang Beach. Karang Beach located at Karang Beach Street (matching with the beach right?) nearby Sindhu Beach. It is about 35 minutes from Ngurah Rai International Airport.
Karang Beach Bali
Karang Beach
Taken by: Andina Septayani

For you who come to Bali or stay in Bali and want to enjoy the beautifulness of beaches in Bali, Karang Beach can be one of your destinations. Mostly, beaches in Bali decorated with white sands, so does Karang Beach. Beautiful white sands, calm wave, and gazebos will bring you into a very calming atmosphere. Many visitors come here to enjoy the sunrise, so at 05.30 a.m. they will come to Karang Beach with their camera to capture the beautiful scene. 

Karang Beach Bali
Karang Beach
Taken by : Andina Septayani
Since it has calm wave, the visitor come with their children. So the beach will full of children especially on the holiday season. You just need 10 thousand rupiahs to rent a canoe to explore the beach. It is quite cheap, isn’t it? And for you who like fishing, you can join the fisherman at Karang Beach and catch fish with them. 

In Karang Beach there are many corals and they named in with Karang to make it easier to remember because Karang means “coral”. But don’t worry, this beach still a safe place for swimming. 
Karang Beach Bali
Karang Beach
Taken by : Andina Septayani

If you want to visit Karang Beach you just need to pay 2 thousand rupiahs for motorbike and 4 thousand rupiahs for car. But if you come on foot, just go straight to the beach it’s free!. In the morning will be many visitors who want to see the sunrise. in the afternoon, many foreigner will enjoy the sun bathing, and in the evening many local people will come to sit and relax. 

There are also many local restaurants for you who want to enjoy the traditional food of Bali, art shops, hotel, ice cream café and a unique swing that will make you remember your childhood.

Tuesday 10 January 2017

Setelah 10 tahun, iPhone mengubah segalanya

Ketika sesuatu ada dimana-mana layaknya iPhone, akan susah membayangkan jika hidup tanpa iPhone. 

iPhone telah diperkenalkan 10 tahun lalu oleh Apple Co-Founder dan CEO Steve Jobs dalam MacWorld, lebih dari sekedar alat atau komponen yang ahli, software dan desain. Ini adalah sesuatu yang turun-temurun dengan pengaruh yang masih terasa hingga saat ini. 
iphone
iPhone
Sumber : [image]

Saya tidak hadir dalam peluncurannya. Saat itu, saya bekerja untuk PCMag.com meskipun begitu kita melindungi Apple dan produknya, kita tidak bisa selalu menghadiri MacWorld. Kami tahu bahwa Apple memiliki ambisi untuk menciptakan smartphone, tapi Apple justru masuk dunia pemasaran yang didominasi oleh Blackberry, Palm, Microsoft dan Nokia. 

Meskipun begitu, di tahun 2007, Steve Jobs berhasil membuktikan bahwa dirinya dapat menguasai dan mengubah pasar dunia. iPod Apple berhasil membajak industri music player dan menghentikan semua pemasaran produk pocket sized. 

Sebelum iPhone, muncul produk yang dilengkapi teknologi touchscreen, tapi sebenarnya semua produk tersebut dilengkapi keyboard. Touchscreen memang terkadang berguna, tetapi hal ini membuat kita lebih lambat dalam mengerjakan beberapa hal. Untuk bermain Breakout di Blackberry Bold, kita harus menggunakan trackball yang super kecil. 


iPhone pertama tidaklah bersahabat :
Sangat mahal dengan kisaran harga $499 sampai $599. 
Hanya tersedia di satu tempat yaitu AT&T.
Tidak memiliki keyboard.
Apple tidak punya pengalaman apapun tentang smartphone. 

Apple bukanlah pemilik dari nama “iPhone”. Itu adalah nama produk yang diciptakan oleh Infogear ditahun 1998. Di tahun 2007 Cisco dengan resmi memiliki nama tersebut. Tapi Cisco digugat sebelum iPhone dipasarkan. 
Steve Jobs
Steve Jobs
Sumber : [image]

Semua hal yang terjadi pada iPhone belakangan ini terasa seperti mistik. Steve Jobs meluncurkan produknya, mendemokannya diatas panggung pada Januari 2007, hanya sebulan sebelum Iphone diluncurkan. Bulan Juni ditahun yang sama, tidak terlihat, tidak teruji, iPhone menjadi barang yang paling banyak diperbincangkan di dunia.

Sebelum iPhone pertama di distribusikan pada bulan Juli, Jobs menyerahkan mereka ke beberapa wartawan yang beruntung. 


Saya menulis semuanya dengan tangan saya sendiri tentang apa yang saya rasakan 10 menit pertama mengenai iPhone saat pertama kali diluncurkan. Ini adalah cerita yang sangat penting dimana kita dipaksa untuk menjadi suatu berita dalam PC Magazine. 

Sesuatu yang saya ingat ketika pertama kali saya memegang iPhone, dunia seakan bergerak. Ini merupakan perangkat elektronik yang hingga kini masih melewati batas ekspektasi saya. Sangat cantik, responsif, intuitif, dan lebih pintar dari smartphone lain yang pernah saya pakai. Ya, saya kesulitan dengan virtual keyboardnya, tapi kemudian saya tahu bahwa masalahnya adalah saya sendiri, bukan iPhone-nya. Saya juga tau kalau tidak akan ada smartphone lain yang akan menyamainya. 

iPhone merupakan tembakan bagi Blackberry, Nokia, dan Microsoft. Tidak satupun diantara mereka yang berhasil mengejar kembali. Sebenarnya mereka memiliki kesempatan, tapi Blackberry keliru membedakan antara tombol dan touchscreen yang berujung sangat buruk, touchscreen yang bekerja layaknya tombol yang sangat besar. Microsoft hanya berdiam diri. Nokia, perusahaan yang membanggakan dirinya sendiri pada desain yang tidak biasa dan inovatif akhirnya menyerah juga. 

iPhone juga berubah menjadi kategori pembunuh. 

iPhone pertama hanya dilengkapi dengan kamera 3.2-megapixel, tapi di tahun 2010 sudah dilengkapi dengan dua kamera, termasuk 5 megapixel kamera yang mampu merekam 720p video. Hampir dari awal, pengguna menggunakan kamera iPhone, terutama ketika munculnya iPhone yang bertepatan dengan media sosial. 

iPhone pertama dilengkapi iPod didalamnya dan Apple sudah menjual jutaan lebih iPod. 

Dua tahun sebelum diluncurkannya iPhone, saya sudah menjelaskan tentang handphone gaming dan menunjukkan pada penonton motorcycle racing game running dalam fitur tua hp Samsung. Samsung adalah salah satu ponsel dengan fitur haptic, jadi ponsel akan bergetar ketika game dimainkan. Layar dan suaranya sangat kecil, tapi cukup meledak dipasaran. Orang-orang tentu ingin bermain game di ponsel mereka. Dengan layar yang besar, myriad sensors dan speaker yang lebih besar, beberapa smartphone saat itu memang lebih dirancang untuk gaming daripada iPhone. 

Ya, saya tau, iPhone tidaklah hadir dengan app storenya sendiri. Ini terjadi pada bulan Maret di tahun yang sama, tapi apakah kalian benar-benar ingat kapan kita tidak mendownload aplikasi dan bermain game di iPhone? 

Memerlukan waktu hampir empat tahun bagi Apple untuk membangun karirnya, membiarkan pintu terbuka bagi Google dan Android. Saat ini, lebih banyak yang menggunakan Android daripada Apple disekitar kita. 


Steve Jobs meninggal pada 5 Oktober 2011, sehari setelah Apple merilis iPhone 4S. Tidak banyak perusahaan yang memiliki pemimpin seperti dia, persepsi kita sudah begitu melekat antara Apple dan Steve Jobs. Dan sulit rasanya bagaimana Apple bisa terus berinovasi tanpanya. 

Tidak ada acara untuk menekan sebuah inovasi, penjualan yang mengesankan (1 miliar iPhone terjual) dan budaya tersebut berubah menjadi satu cerita. iPhone mengubah persepsi kita tentang gadget gaming, melalui inovasi dan aplikasi yang tidak terhitung jumlahnya. 

iPhone tidak perlu menjadi produk untuk melakukan itu semua. Perusahaan lain bisa saja membuat smartphone gaming, tapi ternyata tidak. Mungkin karena mereka tidak memiliki Steve Jobs atau mungkin mereka tidak memiliki visi untuk melihat semua bagian yang berbeda akan membentuk keindahan. 

Saat ini, banyak smartphone dipasaran meniru iPhone atau berhutang kesuksesan dengan iPhone karena telah meniru desain mereka. 

10 tahun yang akan datang, Apple tidak akan lagi sama seperti 10 tahun pertama. Perusahaan ini sekarang lebih cenderung mengikuti daripada memimpin dan mulai beralih pada peningkatan pelayanan.

Sumber : mashable.com

Monday 9 January 2017

Cara Mendaftar Google reCaptcha dan Contohnya


Captcha ini mulai banyak digunakan untuk mengantisapasi spaming dan bot yang dibuat untuk membuat website kita servernya down. Google sendiri sudah menyediakan api reCaptcha untuk para developer. Sebagai pengenalan disini saya akan share tentang cara mendapatkan api reCaptcha dari google.

Baca Juga: Cara menampilkan google map pada website

1. Masuk ke https://www.google.com/recaptcha/intro/
Google reCaptcha Website
Sumber : Screenshoot Google recaptcha
2. Selanjutnya pada halamat tersebut sobat klik Get reCaptcha. Sebelumnya pastika sobat sudah login ke akun gmail sobat.
Google reCaptcha
Sumber : Google reCaptcha Website
Silahkan isi labelnya sesuai keinginan sobat terus untuk domains bisa sobat daftarkan beberapa domain dan untuk kita yang sedang mendevelop silahkan tambahkan domainnya localhost.

3. Selanjutnya sobat akan diberi site key sama secret key yang fungsinya untuk mengaktifkan api pada captcha web sobat.
google captcha
Sumber : Google reCaptcha Website
Sampai disini sobat sudah berhasil mendapatkan akses Google reCaptcha untuk website yang sobat build

Selanjutnya saya akan coba menampilkan captcha tersebut pada form yang saya buat untuk mencobanya dahulu, nanti akan saya coba buat menggunakan codeigniter. Jadi bagi sobat yang sobat penasaran pantau terus blog ini untuk mendapatkan update.

Tampilannya seperti gambar di bawah ini:
contoh reCaptcha
Sintaks yang saya buat bisa sobat lihat dibawah ini:
<!DOCTYPE html>
<html>
<head>
<title>Captcha</title>
<!-- Compiled and minified CSS -->
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.8/css/materialize.min.css">
  <script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
  <!-- Compiled and minified JavaScript -->
  <script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.8/js/materialize.min.js"></script>
  <script src="https://www.google.com/recaptcha/api.js"></script>
</head>
<body>
<div class="container">
<div class="card-panel">
<div class="card-content">
<div class="center">
<h5 class="blue-text">Register</h5>
</div>
<div class="row">
   <div class="input-field col s6 m6 offset-m3">
     <input id="username" type="text" class="validate" name="username">
     <label for="username">Username</label>
   </div>
</div>
<div class="row">
   <div class="input-field col s6 m6 offset-m3">
     <input id="email" type="email" class="validate" name="email">
     <label for="email">Email</label>
   </div>
</div>
<div class="row">
   <div class="input-field col s6 m6 offset-m3">
     <input id="password" type="email" class="validate" name="password">
     <label for="password">Password</label>
   </div>
</div>
<div class="row">
<div class="col s6 offset-s3">
<div class="g-recaptcha" data-sitekey="YOUR_SITE_KEY"></div>
</div>
</div>
<div class="row">
<div class="col s12">
<div class="center">
<button type="submit" class="btn">Submit</button>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>

Kurang lebih seperti itu yah sobat kalau pakai HTML biasa, nantinya kalau memakai server side (PHP) beda lagi kasusnya, saat ini saya baru bisa bahas tentang cara mendaptkan api-nya.

Sekian sobat jika ada yang belum dimengerti silahkan tambahkan keluhan dikolom komentar atau mention langsung di twitter.

Friday 6 January 2017

Cara Menghemat Kuota Internet

Seiring perkembangan jaman internet sudah menjadi kebutuhan semua manusia, berbagai bidang pekerjaan sangat membutuhkan internet. Seiring dengan perkembangan internet yang pesat, harga yang dibayarkan untuk mengakses internet pun sangatlah tinggi. Pengguna internet jarang yang memiliki akses internet yang unlimited, sebagian besar mereka berlangganan internet yang jumlah pemakaiannya dibatasi alias menggunakan kuota. Maka dari itu kita akan bahas Bagaimana cara menghemat kuota internet?


Berikut tips yang mungkin bisa sobat lakukan untuk menghemat kuota internet:
Cara Menghemat Kuota Internet
1. Memilih Operator dan Jangkuan Wilayahnya
Jika sobat masih bingung mau memakai operator yang mana dan pilihan harganya, sobat bisa melakukan searching dahulu di Internet dan masuk ke website masing-masing operator. Biasanya di dalam websitenya akan tampil semua informasi dari operator tersebut mulai dari harga internet dan produk-produk yang mereka tawarkan. Yang terakhir jangan lupa sobat harus ketahui juga apakah wilayah sobat terjangkau oleh operator yang bersangkutan. Untuk melihat jangkaun operator biasanya tersedia juga di websitenya.

2. Kenali kebutuhan untuk internet
Membeli kuota yang seharga 50.000 - 100.000 yang memberikan akses bergiga-giga jangan sampai terbuang sia-sia akibat masa pemakaian sudah habis. Maka dari itu, kenali perilaku dan keperluan sobat di internet dengan begitu sobat bisa alokasikan berapa giga keperluannya dalam jangka waktu tertentu misalkan satu bulan.

3. Gunakan Fasilitas Umum atau Wifi Corner
Bagi sobat yang masih kuliah atau sudah bekerja pasti dong di tempat bekerja dan kuliah ada akses internetnya? nah, sobat bisa manfaatkan itu untuk akses internet sepuasnya. Carilah informasi yang sekiranya sobat perlukan saat mendapat akses internet gratis, secara tidak langsung sobat sudah menghemat penggunaan kuota internet sobat. Jika hanya PC sobat saja yang mendapatkan akses internet sobat bisa mengakalinya dengan membuat hotspot sendiri dengan begitu perangkat yang lainnya juga mendapat akses internet gratis.

Baca Juga : Windows Tips : Cara membuat hotspot di windows 7/8/10

4. Matikan Aplikasi yang tidak perlu
Aplikasi akan tetap mengakses internet walaupun gadget sobat dalam keadaan sedang tidak digunakan. Kok begitu? dalam perangkat mobile dikenal dengan background process, aplikasi berjalan dibelakang. Contohnya aplikasi Facebook, saat sobat keluar dari aplikasinya kan kita masih dapat pemberitahuan hal tersebut berjalan tanpa sobat ketahui dan juga memotong kuota sobat. Berlaku juga untu aplikasi lainnya misalkan line, bbm dan aplikasi sosmed lainnya. Sobat bisa masuk ke pengaturan kemudian pilih aplikasi lalu matikan background process yang sekiranya sobat tidak perlukan secara update informasinya.

5. Pilih kouta malam sebagai tambahan
Kuota yang hanya dapat diakses pada malam hari biasanya memiliki harga yang lebih murah dan akses yang lebih besar. Maka dari itu, saya sendiri sarankan sobat membeli kuota internet yang juga memberi akses internet malam, contohnya kuota internet dari smartfren yang memberi akses internet 4G sebesar 12GB dari jam 2 pagi sampai jam 8. Sobat bisa memanfaatkan internet malam ini untuk download file yang ukurannya besar dan streaming video. Dengan begitu kita bisa menghemat internet utama supaya cukup digunakan sampai batas tanggal peggunaannya.

6. Akses Sosial Media Seperlunya
Banyak yang kecanduan dengan sosial media, sampai-sampai tidak terasa kuota internet habis hanya untuk hal itu. Jadi gunakanlah sosial media dengan bijak jangan online setiap saat hanya untuk melihat update status teman, pacar ataupun mantan. Tetap kehidupan nyata sobat lebih penting.

Baca Juga : Cara menghasilkan uang dengan smartphone

7. Matikan auto update aplikasi
Ini yang orang awam jarang ketahui, kuota habis tidak terasa karena aplikasi selalu up to date apalagi sampai kuota internet sobat dipakai untuk update sistem operasi. Wah bisa nangis kuota bulanannya habis seketika. Maka dari itu sobat bisa matikan auto update dan update jika sudah di area internet gratis.

8. Jangan unduh aplikasi secara illegal
Aplikasi illegal bisa saja disusupi malware sehingga bisa mendownload hal-hal yang membahyakan data kita. Jangan download aplikasi yang tidak jelas sumbernya, download hanya disitus pembuatnya dan pada mobile download di (playstore dan appstore).

Kingston baru meluncurkan sebuah record-breaking 2TB flash drive

Kingstone Flashdrive
Kingstone Flashdrive
Source : [image]
Tahun 2013 lalu, Kingston memperkenalkan pada dunia 1TB flash drive untuk pertama kalinya, berhubung harganya yang sangat mahal membuat pengguna berpikir dua kali untuk membeli produk ini, tapi tetap saja produk ini merupakan hal yang mengesankan yang pernah ada. 


Tiga tahun yang lalu, faktanya tidak ada perangkat penyimpanan yang dapat menandingi Kingston 1TB flash drive, namun Kingston berencana untuk membuat rekor baru dengan meluncurkan 1TB dan 2TB DataTraveler Ultimate GT flash drives di tahun 2017. 

Menurut Kingston, kedua perangkat baru ini dilengkapi dengan USB 3.1 Gen 1 performance, yang secara teoritis memungkinkan kecepatan transfer hingga 5Gbps. The DataTraveler Ultimate GT dibuat dengan casing zinc-alloy metal yang tahan guncangan dan fitur yang mirip tapi desain yang lebih ramping dari DataTraveler HyperX Predator 512GB dan 1TB flash drives yang sudah diluncurkan pada 2013 lalu. 

Dengan kapasitas 2TB, kalian bisa menyimpan lebih dari 4k video dengan durasi 70 jam, 96 game PC berukuran rata-rata, 500.000 file MP3 dan 256.000 photo 24-megapixel. 

DataTraveler Ultimate GT flash drives 1TB dan 2TB akan tersedia di bulan Februari mendatang, namun Kingston belum mengungkapkan berapa harga produk ini. Sepertinya tidak akan mengejutkan jika produk ini dibandrol dengan harga $1,000. Kingston akan memberi garansi 5 tahun dan menawarkan perbaikan gratis.

Sumber : bgr.com

Xiaomi mencapai penjualan $1 miliar dalam pemasaran smartphone tercepat di dunia


CEO Xiaomi
Ambisi CEO dari Xiaomi yaitu Lei Jun untuk membuat perusahaannya menjadi perusahaan terbesar di India sudah berjalan cukup baik.

“Perusahaan China berhasil mencapai puncak di India tahun 2016, dan pendapatannya mencapai $1 miliar.” Perjelas kepala pemimpin Xiaomi di India, Manu Kumar Jain, Jumat lalu. Jian memastikan bahwa Xiaomi merupakan yang paling cepat dari perusahaan lain dalam mencapai pendapatan $1 miliar di India. Xiaomi mulai masuk di India pada Juli 2014. 
 
Baca Juga: 11 Teknologi Yang Patut Ditunggu Ditahun 2017

Xiaomi Device
Xiaomi Device
Source : [image]
Tahun lalu, Xiaomi menjadi perusahaan smartphone terbesar ketiga di Q3 2016 di India, setelah menjual lebih dari dua miliar smartphone dengan kenaikan sebanyak 150 persen setiap tahunnya. Xiaomi memulai bisnisnya di India dengan menjual smartphone, tapi telah memperluas jangkauannya dengan menjual aksesoris. 

Beberapa smartphone Xiaomi termasuk Redmi 3S dan Redmi 3S Prime bernasib baik di pasar India dan menjadi salah satu smartphone yang paling dicari. Xiaomi Redmi Note 3 dengan fitur 5.5-inch full-HD display, 16MP rear camera, and large 4,050mAh battery dengan mudah menjadi hit di dunia. Xiaomi mengatakan ini terjual lebih dari 2.3 miliar unit dalam enam bulan, menjadikan Note 3 sebagai smartphone dengan penjualan via online tertinggi yang pernah ada. 

Dengan permulaan harga $150, Redmi Note 3 berhasil membuat Xiaomi menjadi perusahaan yang patut diperhitungkan, menurut Tarun Pathak, Senior Analisis di Research Firm Counterpoint, yang mengkatakan $150 menjadi salah satu kisaran harga smartphone yang paling cepat berkembang di India. “Xiaomi berada di tempat yang tepat dengan waktu yang tepat,” kata Mashable India. 

“Tapi tetap saja, Xiaomi mengalami kendala dalam hal jaringan distribusi di India tahun lalu,” ia menambahkan. Ketika Xiaomi masuk India hanya mengandalkan pemasaran via online untuk waktu yang lama. Tapi perusahaan Xiaomi mulai menjual produl mereka di India dengan cara offline pada tahun 2015. Tahun lalu Xiaomi mulai untuk mengembangkan pemasaran offline lebih jauh. 

Tahun lalu, Xiaomi juga meluncurkan smartphone Redmi 3S+ di pasar India, dimana smartphone ini sudah tersedia secara offline.

Xiaomi bekerjasama dengan pedagang offline besar seperti Redington, Innocomm, dan Just Buy Live untuk memudahkan orang-orang dalam mendapatkan dan membeli smartphone mereka. 7 dari 10 smartphone di India terjual secara offline di toko, menurut Pathak.

India telah menjadi wilayah yang penting untuk Xiaomi, dimana perusahaan ini sendiri telah mengalami penurunan di China sekitar bulan April dan Juni tahun lalu. “India merupakan wilayah pemasaran yang sangat penting untuk startegi global Xiaomi dan sudah menjadi wilayah pemasaran terluas diluar tanah kelahirannya yaitu China,” kata CEO Jun tahun lalu. “India menjadi 

“Perkembangan Xiaomi di India tentu memberi dampak yang besar. Dan masih banyak ambisi yang masih dalam proses ataupun yang akan datang seperti perluasan Mi Ecosystem yang bergantung pada bagaimana perkembangannya di India,” kata Pathak.

Thursday 5 January 2017

CodeIgniter : XSS Clean dan Penerapannya

XSS merupakan kependekan dari cross site scripting.  XSS memiliki arti suatu jenis serangan yang memanfaatkan injeksi code (code injection attack). XSS ini dimanfaatkan oleh penyerang (attacker) dengan memasukkan kode HTML  atau script ke suatu situs. Akibat serangan ini si penyerang dapat mem-bypass keamanan dari sisi klien, mencuri data yang sensitif atau merusak sistem yang diserang.

XSS memiliki 2 tipe antara lain

  • Reflected atau nonpersistent merupakan tipe XSS yang paling umum dan yang paling mudah dilakukan oleh penyerang. Penyerang menggunakan social engineering agar tautan dengan kode berbahaya ini diklik oleh pengguna. Dengan cara ini penyerang bisa mendapatkan cookie pengguna yang bisa digunakan selanjutnya untuk membajak session pengguna. Mekanisme pertahanan menghadapi serangan ini adalah dengan melakukan validasi input sebelum menampilkan data apapun yang di-generate oleh pengguna. Jangan percayai apapun data yang dikirim oleh pengguna.
  • Stored atau persistent lebih jarang ditemui dan dampak serangannya lebih besar. Sebuah serangan stored XSS dapat berakibat pada seluruh pengguna. Stored XSS terjadi saat pengguna diizinkan untuk memasukkan data yang akan ditampilkan kembali. Contohnya adalah pada message board, buku tamu, dll. Penyerang memasukkan kode HTML atau client script code lainnya pada posting mereka.
Sumber Informsi : XSS Wikipedia

Ok, mungkin itu pengertian dari XSS yang perlu kita ketahui sebelum menerapkannya pada aplikasi yang kita buat. Pada kesempatan kali ini saya akan share penerapannya pada framework CodeIgniter. Untuk lebih jelas baca disini dokumentasi security codeigniter.

1. Sekarang kita coba terapkan, silahkan sobat siapkan file codeigniter dan buat controller dengan nama Form.php dan buat kodenya seperti di bawah ini:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Form extends CI_Controller {

public function __construct()
{
parent::__construct();
}

public function index()
{
$this->load->view('View');
}

public function form_submit(){
//data yang akan di kirim ke view tanpa xss
$data['tanpa_xss'] = array(
'username' =>$this->input->post('username'),
'email' =>$this->input->post('email')
);
//data yang dikirim dengan xss
$data['xss_data'] = $this->security->xss_clean($data['tanpa_xss']);

$this->load->view('View_result', $data);
}

}

/* End of file Form.php */
/* Location: ./application/controllers/Form.php */

Sebelum menggunakan security dari CodeIgniter ingat tambahkan library security di autoload['helper'].
Konfigurasi security di autoload CodeIgniter
Setting security CodeIgniter
2. Sekarang kita buat form dengan nama View.php codenya seperti di bawah ini:
<!DOCTYPE html>
<html>
<head>
<title>XSS Test</title>
<!-- Compiled and minified CSS -->
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.8/css/materialize.min.css">
  <script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
  <!-- Compiled and minified JavaScript -->
  <script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.8/js/materialize.min.js"></script>

</head>
<body>
<div class="container">
<div class="card">
<div class="card-panel">
<center style="margin-top: 50px">
<h5 class="blue-text">XSS CodeIgniter</h5>
</center>
<?php echo form_open('Form/form_submit'); ?>
<div class="row">
   <div class="input-field col s6 m6 offset-m3 offset-s3">
   <input id="first_name2" type="text" class="validate" name="username">
   <label for="first_name2">Username</label>
   </div>
  </div>
  <div class="row">
   <div class="input-field col s6 m6 offset-m3 offset-s3">
   <input id="first_name2" type="email" class="validate" name="email">
   <label for="first_name2">Email</label>
   </div>
  </div>
  <div class="col s3 m12 center">
  <button type="submit" class="btn ">Submit</button>
  </div>
<?php echo form_close(); ?>
</div>
</div>
</div>
</body>
</html>

3. Setelah selesai buat form kita buat view lagi satu untuk menampilkan result dengan nama View_result.php codenya seperti dibawah ini.
<!DOCTYPE html>
<html>
<head>
<title>View Result</title>
<!-- Compiled and minified CSS -->
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.8/css/materialize.min.css">
</head>
<body>
<div class="container">
<div class="card">
<div class="card-panel">
<center>
<h5 class="red-text">Tanpa XSS</h5>
Username : <?php echo $tanpa_xss['username'];?></br>
Email : <?php echo $tanpa_xss['email'];?>
</center>
</div>
</div>
<div class="card">
<div class="card-panel">
<center>
<h5 class="red-text">Dengan XSS</h5>
Username : <?php echo $xss_data['username'];?></br>
Email : <?php echo $xss_data['email'];?>
</center>
</div>
</div>
</div>
</body>
</html>

4. Sekarang kita uji coba formnya isi fieldnya dengan script.
Form uji coba XSS Clean
form test xss
 5. Result dari form yang telah di submit.
Result uji coba xss CodeIgniter
Result form dengan dan tanpa XSS
Bisa sobat lihat, tag script langsung dirumah menjadi removed. Itu menandakan XSS Clean CodeIgniter sudah jalan.

Selain dengan cara di atas, CodeIgniter sudah memiliki fitur auto untuk filtering XSS dengan cara menambahkan TRUE pada input postnya.
$this->input->post('username', TRUE);

Sekian mungkin yang bisa saya sharing, semoga bisa membantu untuk keperluan keamanan menggunakan framework CodeIgniter. Jika ada yang belum dimengerti silahkan tuliskan masalah di komentar atau langsung hubungi saya di social media. 

Baca artikel lainnya tentang CodeIgniter:



  1. CodeIgniter : Insert data dengan Ajax
  2. CodeIgniter : Menampilkan data dari database dan tutorialnya
  3. CodeIgniter : Tutorial Edit dan Hapus