loading

Smartfren Inject Iframe ke Browser, Hati-Hati!

Sebenarnya saya baru tahu semalam, padahal masalah ini sebenarnya sudah ada sejak tahun 2015 kalau gak salah, tapi karena dari dulu belum keganggu banget maka tidak terasa. Saya tahunya ketika mengakses Pondok Jeruk selalu terjadi kejanggalan, khususnya Title dan URL tidak ganti secara wajar. Dan yang bikin mangkel adalah, sayaa mengira kalau blog ini yang bermasalah, jadi sampai memeriksa detil tiap kode templatenya siapa tahu tanpa sengaja ada yang kehapus atau bagaimana.

Tentu saja tidak ada masalah, karena memang sebenarnya baik-baik saja. Pusing juga awalnya, sampai ketahuan setelah melakukan pengecekan melalui inspect halaman di Chrome. Dan kaget saya, kok bisa halaman web dibungkus Iframe yang di set hight dan width ke 100%. Lha ini iframe darimana? karena sepertinya sengaja dirahasiakan karena aksesnya menggunakan IP address (angka) yang tidak terlihat domainnya.

Akhirnya penasaran saya copy scriptnya dan saya terjemahkan, hayya... ternyata ulah Smartfren. Pantas saja biasanya muncul iklan saat kita browsing, jadi sebenarnya ini menimpa semua pengguna Smartfren, namun memang munculnya iklan tidak terus menerus jadi sebelumnya saya abaikan saja.

Tapi ternyata mengganggu blog dan situs, itu yang bikin webmaster dan bloggernya yang gak suka dengan tindakan Smartfren ini. Akhirnya terpaksa saya pasang script pendek anti iframe di blog karena kalau dibuka pengguna Smartfren lainnya biar gak bemasalah dengan navigasi blognya.

Bagi pengguna biasa yang hanya browsing, maka efek dari inject iframe Smartfren ini akan mengganggu kenyamanan, karena banyak situs-situs yang melarang halamannya diletakkan dalam iframe, bahkan kalau google, biasanya akan dianggap spam, sehingga disuruh memasukkan kode CAPTCHA setiap melakukan query pencarian. Belum lagi kalau sebuah situs memasang widget atau bagian web dari layanan pihak ketiga, biasanya iklan, ini biasanya akan bermasalah, karena seringkali akan redirect ke halaman lain atau ke halaman blank. Nah sudah susah cari di google pake kode CAPTCHA, setelah ketemu artikelnya malah masuk halaman blank, kan kamvret!

Sedang bagi blogger, khususnya yang menayangkan iklan, akan berakibat kehilangan potensi pendapatan dari iklan kalau halaman blognya redirect ke lain alamat, selain itu selain itu juga bisa berbahaya kalau dalam aturan advertisernya ada larangan menggunakan iframe, siapa tahu kena banned. Belum lagi risiko diingat user sebagai situs bermasalah, hayya... rugi lagi dah.

Sebenarnya bukan hanya Smartfren, karena konon operator lain juga ada yang begini, tapi itu urusan lain, karena yang jelas saya sendiri pengguna Smartfren jadi ya membahas Smartfren saja.

Lalu bagaimana solusinya?

1. Solusi buat netter biasa

Untuk netter yang hanya browsing saya tidak akan menuliskan cara detilnya karena panjang, hanya saya rekomendasikan link tutorialnya bagaimana agar browser tidak bisa di-inject iframe oleh Smartfren, karena untuk Chrome dan Firefox beda-beda caranya, untuk browser lain, entahlah cari saja sendiri. Untuk mendapatkan cara mengatasi masalah ini silahkan menuju kesini. Lengkap disitu dan asal sumber dari tutorial masalah ini, tapi kalau kesulitan bahasa linggis, silahkan kesitu, kesana, atau kemari. Saya beri link beberapa kuatir ada yang error saat dikunjungi.

2. Solusi buat kawan blogger

Untuk pemilik blog atau web solusinya sederhana, hanya tinggal sisipkan kode javascript pendek di blognya, mau diletakin di header atau di body terserah kamu enaknya dimana. Kalau Pondok Jeruk saya letakkan di header agar cepet bebas dari Iframe Smartfren, karena kalau diamati selalu dicoba dibungkus iframe mulu berulang-ulang. Berikut ini kode pendeknya:

<script>
if ( top.location != location ) {
  top.location = self.location;
}
</script>

Dengan script pendek diatas, jika Smartfren mencoba membungkus blog/web dengan Iframe, maka blognya akan keluar sendiri dari iframenya, karena kondisi saat akan dibungkus iframe oleh Smartfren adalah top.location tidak sama dengan location. Beres dah.

Sebagai catatan saat melakukan inspect halaman dalam rangka mengetahui Iframe Smartfren dibawah saya lengkapi 2 contoh bagian script injectnya, karena sebenarnya banyak, script pertama akan memanggil beberapa script lain dan juga file css iklan. Jadi sebenarnya blog kita diobok-obok sama Smartfren karena isi perintah scriptnya kebanyakan appendChild menambahkan script, style css dan meta jika diakses dengan handphone.

Berikut ini adalah script hasil inspect halaman:

/****************************
Ini bagian dari script iframe
****************************/
function go(w,u){xc=1;w.frames[0].location=u;}
var flag_lte=1;
var xu='http://192.168.185.20:8080/CustomerInfo/',lxu=xu+'Customer';
var xc=-1,d=document,w=window,ip='100.117.19.229',vid='348',md='6288801745015&md_w=1',u=location.href,hs=location.hostname;
gd = d.createElement("script");gd.src=xu+"m.js";d.documentElement.firstChild.appendChild(gd);
var s='http://192.168.185.20:8080/CustomerInfo/Customer?mdn='+md+'&user-agent=Samsung&url='+encodeURIComponent("http://www.pondokjeruk.com/2017/08/belajar-gitar-harus-pada-ahlinya.html")+'&lac=3015&ci=78234145';
if (hs.indexOf("www.")==0)mp='yes';else mp='no,initial-scale=1';var mt= d.createElement('meta');mt.id="xwa";mt.name="viewport";mt.content= "width=device-width,user-scalable="+mp;
d.getElementsByTagName('head')[0].appendChild(mt);var mt2 = d.createElement('meta');mt2.charset = "utf-8";d.getElementsByTagName('head')[0].appendChild(mt2);


/******************************************************
Ini salah satu Script yang dipanggil oleh script diatas
******************************************************/
//mdn=6288801745015
//user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36
//lac=3015
//ci=78234145
if ((window.location == window.parent.location) && (window.innerHeight>175)) {
var toolbar_id=175508196
var application_dir="http://10.20.173.44:8080/CustomerInfo/"
var data_dir="http://10.20.173.44:8080/data/banner/"
var toolbar_image_dir = "http://10.20.173.44:8080/data/toolbar/"
var search_key_word = ""
var image_width,image_height,image_file,flying_image_file_width_a,flying_image_file_height_a,flying_image_file_a,flying_image_file_width_b,flying_image_file_height_b,flying_image_file_b,flying_image_file_width_c,flying_image_file_height_c,flying_image_file_c,flying_ads_type,flying_ads_timeout=5000,flying_ads_start=2000,flying_clicklink;
var banner_ads_start,banner_ads_timeout,banner_image_file_width,banner_image_file_height,image_file_banner,banner_clicklink,banner_image_file_width_a,banner_image_file_height_a,banner_image_file_a,banner_image_file_width_b,banner_image_file_height_b,banner_image_file_b,banner_image_file_width_c,banner_image_file_height_c,banner_image_file_c,banner_ads_type;
var _flag_lte_ = 0
var txtInfo = "Info 4G LTE"
var linkInfo = "http://www.smartfren.com/4g/"
var txtTukar = "Tukar HP 4G"
var txtSmartPoint = "Smart Point"
var linkSmartPoint = "http://www.smartfren.com/id/smart-point/"
var txtInfoPaket = "Info Paket"
var linkInfoPaket = "http://www.smartfren.com/id/data-service/"
var txtSpecialOffer = "Special Offer"
var __flag_redirection__ = "0" 
var __keyword_feature__ = "0"
var tracking_url_click= "" 
var tracking_url= "" 
var _interticial_ = -1 
flying_ads_type=-1
exp_ads_type=-1;
exp_ads_start=0;
exp_ads_timeout=0;
exp_toolbar_type=0;
//UaAgent='-11100~1000~1204~'
//Urlid='-1'
var UrlValue='http://www.pondokjeruk.com/2017/08/belajar-gitar-harus-pada-ahlinya.html'
var LocationValue='3015:78234145'
var MSISDNValue='6288801745015'
var lng=''
var lat=''
var label=''
 var style__1 = document.createElement( 'link' )
style__1.type = 'text/css'
style__1.rel = 'stylesheet'
style__1.href = 'http://10.20.173.44:8080/CustomerInfo/BannerAds.css'
document.body.appendChild(style__1)
};

Untuk bahasan lain di forum mengenai inject iframe Smartfren ini bisa lihat di kaskus dan ads.id, disana banyak keluhan juga. Sekian dulu, semoga Smartfren menggunakan cara fair nantinya dalam beriklan. Sekarang mending update ramalan zodiak dulu.

UPDATE 07 OKTOBER 2017

Ternyata script injectnya sudah di update oleh ahli script pihak smartfren, dengan script diatas meskipun bisa mengatasi tapi sering trouble, sebabnya adalah setiap kali blog meronta untuk keluar dari Iframe, akan selalu di iframe lagi, setelah meneliti script terakhir smartfren juga memasang kebalikan dari script diatas, dan parahnya diberi interval waktu untuk selalu diulang jika pembungkusan iframe tidak berhasil, mereka memasang script setInterval untuk mengulangi terus menerus. Ini makin membuat kacau, karena akan terlihat blog gak selesai-selesai di load sebab kejar-kejaran dengan script smartfren, hadeeeeh, scriptnya buanyak lagi, jadi bikin lemot.

Akhirnya cari akal, dan ketemulah cara baru, dibawah ada kodenya dan harus diletakkan tepat dibawah tag <head> agar segera bereaksi saat render halaman pertama kali, sebelum smartfren sempat selesai meload script dari server silumannya. Berikut ini kodenya:

<script>
var bubarkanIframeInject = setInterval( function() {
  if( window.parent.frames.length > 0 ) {
 window.top.location = window.location;
 window.parent.document.getElementsByTagName( "head" )[ 0 ].innerHTML = "";
 window.parent.document.body.innerHTML = "";
  } else {
 clearInterval( bubarkanIframeInject );
  }
}, 1);
</script>

Penjelasan kode diatas, kita melakukan percobaan meronta dari iframe dengan interval waktu 0,001 perdetik sampai bisa keluar, jika gagal akan diulang tiap 0,001 detk lagi, kalau berhasil baru intervalnya di clear. Nah agar proses lebih cepat dan tidak tarik menarik, maka di kode tersebut ada perintah mengosongkan bagian head dari induk iframenya agar scriptnya hilang semua, baru isi body juga dikosongkan. Nah karena script di induk iframe sudah kosong maka pasti tidak akan ada perlawanan lagi, lha scriptnya sudah dibuang. Cara ini efektif, namun entah nantinya Smartfren punya akal apalagi, kalau tetap ya berarti aman.

O iya, script ini bukan hanya untuk smartfren saja, untuk operator lain juga bisa kalau gejalanya sama.

Yang ngerti baca kode dan ingin melihat seperti apa script inject smartfren terbaru, bisa mendownloadnya di bawah ini:

Script Inject Smartfren

Komentar 0

 
Jika kesulitan memilih ID, gunakan opsi Name/URL, isikan nama Anda, URL isi dengan URL profil facebook atau kalau lupa biarkan kosong. Link aktif di dalam komentar jika tidak relevan akan masuk kotak spam.
<b>, <i> standar bisa digunakan. Tag lain dibawah ini:
{u} text bergaris {/u}
{small} text kecil {/small}
{center} text rata tengah {/center}
{blockquote} text dalam blockquote {/blockquote}
{img} url-gambar {/img}
{youtube} url-video-youtube {/youtube}
{code} kode yang sudah di encode {/code}
Encode kode disini (tidak perlu menambahkan {code} dan {/code}
   

Popular Posts this Week 

Aplikasi Hari Selamatan Orang Meninggal (Perhitungan Online)

Aplikasi Hari Selamatan Orang Meninggal (Perhitungan Online)

Aplikasi Perhitungan Hari Selamatan Orang Meninggal dibawah ini sangat berguna untuk orang jawa, karena di keluarga manapun tidak akan terl...

Tipe Kamu Dari Cara Nyontek dan Perkerjaan Yang Cocok

Tipe Kamu Dari Cara Nyontek dan Perkerjaan Yang Cocok

Tipe Orang Menurut Cara Nyontek mungkin tidak menjadi salah satu ukuran dalam hal yang serius, tapi lumayan untuk menambah referensi dan m...

Kalender 2018 dan Hari Besar Libur Nasional

Kalender 2018 dan Hari Besar Libur Nasional

Download Kalender 2018 dan Hari Besar / Libur / Cuti Nasional dalam file PDF, sebenarnya mau membuat untuk versi kalender 2018 excel, tapi ...