Coba sebutkan beberapa Internet Service Provider di Indonesia yang anda kenal. Tentu kita mengenal provider besar nasional seperti Telkom beserta anaknya : Telkomsel, ada XL, Indosat, 3, dan lain sebagainya. Disamping provider nasional, ada juga provider-provider di daerah masing-masing. Dari sekian banyak, mana yang pernah anda pakai, dan bahkan masih aktif dipakai sebagai pilihan utama? Lantas pernahkah anda benar-benar cek validasi data yang masuk ke dalam browser anda saat browsing?
Dalam catatan saya, ternyata sebagian besar provider nasional berbasis seluler, plus Telkom, benar-benar memaksimalkan untuk keuntungan mereka hingga level data. Sebagai contoh adalah Speedy. Telkom Speedy sengaja melakukan inject script dalam data yang dikirim antara server web ke browser.
Apa efeknya? Efek yang muncul adalah : kadang halaman menjadi rusak, karena beberapa elemen script tertimpa oleh script tambahan Telkom.
Apa gunanya? Gunanya adalah keperluan statistiknya Telkom plus potensi memata-matai data yang diakses oleh tiap user. Gambar berikut adalah contohnya:
Script yang diapit tag “script” tersebut adalah sebuah bukti bahwa halaman kita diinjeksi oleh pihak Telkom untuk keperluan mereka.
Sah? Karena tidak ada kesepakatan khusus, ya sah saja, sekalipun hal ini memang sangat tidak etis. Tapi sepertinya bisnis provider tidak perlu berpikir etis atau tidak 😀
Hal demikian juga muncul pada halaman yang dibuka dengan operator seluler lainnya. Tercatat Telkomsel dan Indosat yang saya gunakan juga melakukan hal yang sama. Indosat lebih parah, menampilkan iklan pada halaman google yang saya buka. Terang-terangan. Sayangnya saya belum sempat capture. Akan saya update pada kesempatan lain.
Bagaimana dengan telkomsel? Berikut capturenya
Ini adalah kasus ketika saya membuka halaman Google, berarti google sebagai webserver, dan saya sebagai client. Dari halaman ini terlihat jelas bahwa seluruh halaman google akan diperlakukan sebagai iframe dari halaman telkomsel itu sendiri. Kecurigaan ini muncul karena saya melihat dua scrollbar di sisi kanan.
Akibat lain dari injeksi script ini, tentu selain halaman bertambah besar karena diisi script, ternyata Telkomsel juga membongkar kompresi data yang dibuat oleh server (google). Dibongkar kompresinya, diberikan tambahan script sesuka Telkomsel, kemudian diberikan kepada client dalam kondisi tidak lagi terkompresi. Tak ada risiko buat Telkomsel. Yang ada ya untung besar.
Berikut capture lain terkait size dan header info yang ada pada halaman browser.
Gambar diatas jelas sekali bahwa pada header tidak memuat kondisi gzip atau deflate pada Content Encoding di Response Header yang seharusnya ada untuk memperingan / memperkecil transfer rate data di jaringan.
Lantas, perhatikan pada gambar ini :
Hasil ini dianalisa dengan menggunakan tools Google Chrome inspect element. Dari sini terlihat jelas besaran data yang didownload oleh browser kita untuk halaman tersebut.
Beberapa forum saya dapatkan telah berusaha membuat cara menanggulangi hal ini. Namun sepertinya hal ini tidak efektif. Lantas adakah cara yang terbaik untuk menangkal hal ini? Ada. Salah satu cara adalah menggunakan HTTPS. Berikut beberapa hal tentang HTTPS.
- HTTPS adalah singkatan dari HTTP Secure
- Dikatakan secure karena data transfer antara server ke browser dilakukan secara terenkripsi, sehingga mampu mencegah para maling membajak data dan menginjeksi sesuatu dalam halaman web.
- HTTPS adalah layanan yang diberikan oleh server. Sehingga server harus menyediakan layanan tersebut. (Lho kok bimosaurus.com belum? Iya iya, besok saya buat)
- Transfer data bank, dan data-data transaksional lainnya menggunakan HTTPS sebagai langkah aman.
- HTTPS membutuhkan SSL Secure Socket Layer sebagai langkah enkripsinya. SSL sebagian besar berbayar, namun banyak juga yang bersifat community
- Dengan HTTPS, diharapkan provider tidak lagi membongkar gzip dan deflate yang membuat transaksi data menjadi boros quota.
Berikut beberapa perbandingan antara gambar-gambar di atas yang menggunakan HTTP, dengan HTTPS.
Perhatikan gambar di atas, bahwa script ads telkomsel telah tidak lagi ada.
Perhatikan gambar di atas, bahwa gzip dan deflate sudah muncul, sehingga dapat dipastikan konten gzip aman tidak dibongkar. (Content Encoding pada response header)
Yes, selisihnya adalah 0.1 MB untuk halaman ini. Dari 3.99 menjadi 3.89.
Lantas bagaimana cara membentuk HTTPS? Pada umumnya situs-situs besar seperti google, yahoo, apalagi yang email, internet banking, pasti sudah memanfaatkan fitur ini, dan mengarahkan halaman web untuk mengakses https ketimbang http. Untuk tutorial HTTPS server, tunggu saja artikel selanjutnya.
Sekian ulasan ini.. Saya mau tidur