My Groups

You are not a member of any group.

Login

Message Box

You are not logged in.

Notification

Members Online

None

User Statistics

Registered users : 38792
Online : 1811
Guest : 1811
Members : 0

Online members
No members online!

Last 5 users
alisapugacescu
adrylawumi
dienul82
suksesbisnismlm
ariefalbani
registerFunction( 'onBeforeUserUpdate','protectFields', 'getProtectFieldsTab' ); /** * Protection Tab Class for handling the CB tab api * @package Community Builder * @author JoomlaJoe and Beat */ class getProtectFieldsTab extends cbTabHandler { /** * Constructor */ function getProtectFieldsTab() { $this->cbTabHandler(); } /** * gets object with name, title and table corresponding to a field id * @access private * @param int fieldId * @returns mixed : either object, or null if no match */ function getFieldInfo($protectFieldId) { global $database; if ($protectFieldId == "0") return null; $query = "SELECT `name`,`table`,`title`,`type` FROM #__comprofiler_fields WHERE published=1 AND fieldid=".$protectFieldId; $database->setQuery($query); $protectObj = null; $database->loadObject($protectObj); return $protectObj; } /** * Discards all changes the user makes to email field. Admins are allowed to change email addresses. * Method is called before user data is stored in the database * @access private * @param object holds the core mambo user data * @param object holds the community builder user data * @param object holds the field information * @return boolean true check ok no changes, FALSE error raised */ function checkMyFieldChanges(&$user,&$cbUser,$protectObj) { global $database, $my, $_PLUGINS; if ($protectObj === null) return true; $params = $this->params; $alertMsg = htmlspecialchars($params->get('alertMsg', '0')); $protectFieldName = $protectObj->name; $protectTable = $protectObj->table; $protectTitle = $protectObj->title; //if ($my->gid != 2) { // admins can change their profile unrestricted from the backend if ($protectTable != "#__comprofiler") { $query = "SELECT `".$database->getEscaped($protectFieldName)."` FROM #__users WHERE id=".$user->id." LIMIT 1"; $pObject =& $user; } else { $query = "SELECT `".$database->getEscaped($protectFieldName)."` FROM #__comprofiler WHERE id=".$user->id." LIMIT 1"; $pObject =& $cbUser; } $database->setQuery($query); $pOriginalField = $database->loadResult(); //The field before the change was attempted if ($pObject->$protectFieldName != $pOriginalField) { $_PLUGINS->raiseError(0); $_PLUGINS->_setErrorMSG(htmlspecialchars(getLangDefinition($protectTitle))." ".$alertMsg); $pObject->$protectFieldName = $pOriginalField; return false; } //} return true; } /** * generates javascript code to check and flag at browser end * @access private * @param object tab reflecting the tab database entry * @param object mosUser reflecting the user being displayed * @param object holds the field information */ function getEditTabJScode(&$user,$protectObj) { if ($protectObj == null) return; $params = $this->params; $alertMsg = $params->get('alertMsg', '0'); $protectFieldName = $protectObj->name; $protectTitle = $protectObj->title; $protectValue = $user->$protectFieldName; //Type matters ;) $protectType = $protectObj->type; //We need to add square brackets for accessing select, multiselect and mulitcheckbox in JS $addBrackets = ""; if($protectType == "multiselect" || $protectType == "select" || $protectType == "multicheckbox"){$addBrackets = "[]";} $this->_addValidationJS( "\t if (getInputValue(me['".htmlspecialchars($protectFieldName).$addBrackets."'])!=getInputDefaultValue(me['".htmlspecialchars($protectFieldName).$addBrackets."'])){\n" ."\t errorMSG += \"".html_entity_decode(getLangDefinition($protectTitle)." ".$alertMsg)."\\n\"\n" ."\t me['".htmlspecialchars($protectFieldName).$addBrackets."'].style.background = \"red\";\n" ."\t setInputValue(me['".htmlspecialchars($protectFieldName).$addBrackets."'],getInputDefaultValue(me['".htmlspecialchars($protectFieldName).$addBrackets."']));\n" ."\t iserror=1;\n" ."\t} else {\n" ."\t me['".htmlspecialchars($protectFieldName).$addBrackets."'].style.background = cbDefaultFieldBackground;\n" ."\t}\n"); // also see event: 'onBeforeUserUpdate' : must also be implemented as above to avoid changes with JS off. } /** * Discards all changes the user makes to email field. Admins are allowed to change email addresses. * Method is called before user data is stored in the database * @param array holds the core mambo user data * @param array holds the community builder user data */ function protectFields(&$user,&$cbUser) { $params = $this->params; $protectFieldId = $params->get('protect1', '0'); $result1 = $this->checkMyFieldChanges($user, $cbUser, $this->getFieldInfo($protectFieldId)); $protectFieldId = $params->get('protect2', '0'); $result2 = $this->checkMyFieldChanges($user, $cbUser, $this->getFieldInfo($protectFieldId)); $protectFieldId = $params->get('protect3', '0'); $result3 = $this->checkMyFieldChanges($user, $cbUser, $this->getFieldInfo($protectFieldId)); $protectFieldId = $params->get('protect4', '0'); $result4 = $this->checkMyFieldChanges($user, $cbUser, $this->getFieldInfo($protectFieldId)); return result1 && result2 && restult3 && result4; } /** * Generates the HTML to display the user edit tab * @param object tab reflecting the tab database entry * @param object mosUser reflecting the user being displayed * @param int 1 for front-end, 2 for back-end * @returns mixed : either string HTML for tab content, or false if ErrorMSG generated */ function getEditTab($tab,$user,$ui) { if ($ui == 2) return ""; // don't protect backend user edits. $params = $this->params; //Functions used in every check. So let's include them here only once. $this->_addValidationJS( "\t // ===================================================================\n" ."\t //JavaScript functions\n" ."\t // Author: Matt Kruse \n" ."\t // WWW: http://www.mattkruse.com/\n" ."\t // ===================================================================\n" ."\t //-------------------------------------------------------------------\n" ."\t // isArray(obj)\n" ."\t // Returns true if the object is an array, else false\n" ."\t //-------------------------------------------------------------------\n" ."\t function isArray(obj){return(typeof(obj.length)==\"undefined\")?false:true;}\n" ."\t //-------------------------------------------------------------------\n" ."\t // getInputValue(input_object[,delimiter])\n" ."\t // Get the value of any form input field\n" ."\t // Multiple-select fields are returned as comma-separated values, or\n" ."\t // delmited by the optional second argument\n" ."\t // (Doesn't support input types: button,file,reset,submit)\n" ."\t //-------------------------------------------------------------------\n" ."\t function getInputValue(obj,delimiter) {\n" ."\t var use_default=(arguments.length>2)?arguments[2]:false;\n" ."\t if (isArray(obj) && (typeof(obj.type)==\"undefined\")) {\n" ."\t var values=new Array();\n" ."\t for(var i=0;i0)?obj.options[obj.selectedIndex].value:null;\n" ."\t case 'select-multiple': \n" ."\t if (obj.options==null) { return null; }\n" ."\t var values=new Array();\n" ."\t for(var i=0;i1)?arguments[1]:false;\n" ."\t if(isArray(obj)&&(typeof(obj.type)==\"undefined\")){\n" ."\t for(var i=0;iget('protect1', '0'); $this->getEditTabJScode($user, $this->getFieldInfo($protectFieldId)); $protectFieldId = $params->get('protect2', '0'); $this->getEditTabJScode($user, $this->getFieldInfo($protectFieldId)); $protectFieldId = $params->get('protect3', '0'); $this->getEditTabJScode($user, $this->getFieldInfo($protectFieldId)); $protectFieldId = $params->get('protect4', '0'); $this->getEditTabJScode($user, $this->getFieldInfo($protectFieldId)); return ""; } } // end class getProtectFieldsTab. ?>
Welcome, Guest
Please Login or Register.    Lost Password?

Teknik Filterisasi Fake Account Registrasi AIMA
(1 viewing) (1) Guest
Go to bottomPage: 12
TOPIC: Teknik Filterisasi Fake Account Registrasi AIMA
#1408
elsa rosyidah
Expert Boarder
Posts: 93
graphgraph
User Offline Click here to see the profile of this user
Teknik Filterisasi Fake Account Registrasi AIMA 2 Years, 1 Month ago Karma: 12
Atas pertarungan gila2an voting dengan cara membuat fake account atau anggota AIMA dengan identitas palsu,
tim YES UB - Malang telah memprediksikan jauh-jauh hari bahkan sebelum voting.
Fake account dilakukan dengan tujuan 1 orang dapat membuat dan memperoleh suara sebanya mungkin.


Bahkan berdasarkan brief di Malang, panitia pun juga mengakui adanya bug/celah pada proses pendaftaran AIMA-AOOTB.

Sekarang hingga masa vote selesai telah tercatat 27.106 member AOOTB.
Wow luar biasa

Berikut kami lampirkan potensi dan cara mengatasi fake account .
usulan tersebut telah kami sampaikan kepada panitia pada 29 November 2009 yaitu beberapa hari sebelum masa vote dimulai.

-----------------------------
METODE PENDAFTARAN AIMA UNTUK MENGHINDARI FAKE ACCOUNT

I. LATAR BELAKANG
Kompetisi Axioo Intel Marketing Award (AIMA) merupakan salah satu kompetisi marketing bergengsi yang diperuntukan untuk mahasiswa dan pelajar se-Indonesia. Salah satu aspek penilaian adalah voting. Jumlah voting kian berperan sangat penting karena 10 tim yang menjadi finalis tingkat regional dipilih dan ditentukan oleh jumlah voting terbanyak.

Sudah menjadi rahasia umum para peserta AIMA, salah satu cara “akal-akalan” untuk meningkatkan poin voting adalah teknik “fake account” (identitas palsu), yaitu membuat email sebanyak-banyaknya kemudian mendaftarkan diri ke website AIMA. Kenapa harus membuat email sebanyak-banyaknya ?. Karena asumsi saat ini yang digunakan oleh AIMA, 1 orang peserta AIMA adalah diwakili atau dibuktikan oleh 1 email. Artinya, 1 email adalah 1 orang.

Pada hari rabu 24 November 2009 kemarin diadakan brifing oleh panitia AIMA di kota Malang. Salah seorang mentor sekaligus panitia inti AIMA yakni bapak Adit menyatakan bahwa hingga sekarang panitia AIMA belum bisa mengatasi fake account. Fake account merupakan celah kelemahan dari pelaksanaan lomba AIMA. Kemudian bapak Adit menawarkan kepada para peserta lomba AIMA untuk memberikan ide untuk mengatasi problema ini. Untuk itulah, kami dari tim Young Entrepreneur Society University of Brawijaya atau lebih dikenal YES UB menawarkan sejumlah masukan untuk membantu panitia AIMA demi suksesnya pelaksanaan kompetisi AIMA.

II. METODE
Untuk memberikan solusi terbaik mengatasi fake account, kita harus memahami dengan jernih karakteristik dari fake account tersebut. Sehingga dapat diberikan tindakan-tindakan benar dan tepat sebagai solusi mengatasi fake account.

Salah satu pola umum yang terjadi ketika seseorang melakukan fake account adalah pembuatan email dan pendaftaran AIMA dilakukan ditempat yang sama pada waktu yang sama. Tempat yang sama dapat kita artikan pengguna internet menggunakan IP (Internet Protokol) yang sama. IP adalah alamat di dunia internet, sama seperti alamat rumah jika didunia nyata. Inilah kata kunci yang harus menjadi perhatian kita untuk problema fake account. Berdasarkan hal tersebut, secara umum kita dapat membuat asumsi bahwa :
One IP = One Person

III. TAKTIK DAN STRATEGI
Paparan sebelumnya telah menjelaskan pentingnya kita mencermati akan IP. Untuk mengatasi fake account pendaftaran AIMA, kita dapat belajar dari proses pendaftaran email di provider-provider internasional penyedia email seperti Yahoo, Gmail dan Hotmail. Baik Yahoo, Gmail dan Hotmail mempunyai serangkaian mekanisme filter untuk mengatasi fake account ketika melakukan pendaftaran email. Metode filterisasi yang digunakan penyedia email dapat kita adopsi untuk pendaftaran AIMA.

Hal yang perlu kita diketahui bahwa secara umum memang berlaku one IP is one person. Tetapi ada kemungkinan terjadi kejadian khusus yakni one IP is public. Karena banyak pengguna internet yang memakai fasilitas umum seperti hostspot untuk mengakses internet. Sehingga 1 IP digunakan oleh beberapa orang sekaligus. Hal tersebut banyak dilakukan oleh mahasiswa di perguruan tinggi termasuk Universitas Brawijaya, Malang karena gratis. Oleh karenanya pihak panitia AIMA tidak boleh melupakan faktor ini sebagai bahan pertimbangan dalam penentuan keputusan mekanisme filterisasi pendaftar AIMA.

Upaya nyata yang harus dilakukan oleh webmaster AIMA adalah meregistrasi/mencatat setiap data-data berikut ketika ada kunjungan ke website AIMA (selain registrasi yang telah dilakukan sebelumnya oleh AIMA), yakni :
1. IP, 2. Waktu, dan 3. Browser

A. PRA SUBMIT
Proses filterisasi dapat diaplikasi semenjak proses pendaftaran AIMA. Berikut beberapa taktik dan strategi yang dapat digunakan panitia AIMA untuk memfilter pendaftar fake account, yaitu :

1. Duration Break
Para pengguna internet yang mendaftarkan diri ke AIMA melalui IP yang sama dan berkeinginan melakukan pengulangan pendaftaran, harus menunggu dan menunda beberapa saat untuk dapat melakukan pendaftar lagi dengan identitas yang baru. Waktu penundaan pendaftaran tergantung kebutuhan dan tipikal pengunjung, misal : 1”, 5”, 15”, 30” dll. Dengan demikian orang yang sama “lebih dipersulit” karena harus menunggu untuk membuat banyak account baru. Metode filterisasi ini dapat dipatahkan dengan metode proxy dan public IP seperti Telkom flash, IM2, Smart yang bisa berganti-ganti IP.

2. Day Limited
Dalam 1 hari ada batas maksimal pendaftaran account bagi para pengguna internet yang bermaksud mendaftarkan diri ke AIMA melalui IP yang sama dan berkeinginan melakukan pengulangan pendaftaran. Jumlah maksimal pendaftaran account tergantung kebutuhan dan target panitia AIMA, misal : 5 account/hari, 10 account/hari, dll. Dengan demikian orang yang sama “lebih dibatasi” karena tidak dapat membuat account sebanyak-banyaknya dalam 1 hari dan 1 IP yang sama. Metode ini digunakan oleh Yahoo dan Hotmail. Metode filterisasi ini dapat dipatahkan dengan metode proxy dan public IP seperti Telkom flash, IM2, Smart yang bisa berganti-ganti IP.

3. Mobile Activation
Account para pengguna internet yang mendaftarkan diri ke AIMA di aktivasi melalui ponsel pribadi. Pendaftaran baru diaktifkan sebagai account AIMA jika telah dikonfirmasi dengan kode aktivasi yang dikirim oleh server web AIMA ke ponsel pendaftar. Jika email dapat dibuat dengan gratis dan setiap saat, maka saat ini itu tidak berlaku untuk nomer ponsel. Metode ini di implementasikan atas dasar asumsi :
One Mobile = One Person

Fake account dapat dihindari karena kita harus memiliki banyak nomer ponsel untuk dapat membuat banyak fake account. Kecuali orang tersebut mempunyai virtual nomer ponsel yang amat sangat jarang diketahui dan dikerjakan orang. Metode mobile activation digunakan oleh Gmail (jika IP sama dan pendaftaran berulang-ulang dalam 1 hari) dan Facebook (aktivasi nama sebagai halaman link personal di facebook).

B. PASCA SUBMIT
Upaya menghindari fake account dapat dihindari juga setelah proses pendaftaran. Tindakan yang dapat dilakukan adalah mengharuskan member AIMA memasukkan foto di profil user AIMA. Implementasi teknik ini adalah seorang member AIMA hanya dapat melakukan voting ketika profil sudah menampilkan foto diri.

IV. KESIMPULAN


Ketiga metode filterisasi tersebut diurutkan dari yang terlemah hingga yang terkuat. Semoga berguna dan membantu pelaksanaan AIMA menuju kesuksesan. Masukan ini merupakan bagian dari implementasi marketing tim YES UB, yaitu Branding from Helping.

Terima kasih

Malang, 26 November 2009
YES UB - Malang
branding from helping
Elsa Rosyidah
 
The administrator has disabled public write access.
#1410
David Yacobus
Fresh Boarder
Posts: 14
graphgraph
User Offline Click here to see the profile of this user
Re:Teknik Filterisasi Fake Account Registrasi AIMA 2 Years, 1 Month ago Karma: 0
Metode ini tidak bisa diterapkan karena:
(1)
a. IP address bukan hanya mengacu pada satu komputer melainkan kepada satu device yang mana bila anda memiliki router anda akan memiliki 1 ip yang bisa diakses banyak komputer. Warnet juga banyak yang hanya memiliki 1 IP.

b. Ada juga yang melakukan voting menggunakan 1 PC karena mengajak teman atau saudara.

Intinya filterisasi berdasar IP tidak valid.

(2) Berdasarkan waktu duration break juga adalah metode yang aneh karena bila diterapkan maka di warnet hanya bisa 1x register selama periode waktu tertentu.

Filterisasi waktu yang dapat dilihat adalah penambahan jumlah vote secara signifikan. metode yang kami amati adalah menjelang hari terakhir ada kelompok yang peningkatannya out of the box hingga ribuan perhari. yang jadi perhatian kami adalah peningkatan tersebut terjadi dari tengah malam hingga pagi. Logika sederhana adalah: Jam tengah malam adalah waktunya istirahat. kalau mereka bisa memperoleh ribuan suara di tengah malam, harusnya mereka bisa memperoleh puluhan ribu di siang hari. Kecurigaan kedua adalah waktu penambahan jumlah vote menjelang hari penutupan terutama 3 hari terakhir. Modusnya kemungkinan adalah dengan membuat fake account sebanyak-banyaknya dan dan mengaktivasinya namun untuk votenya dilakukan menjelang hari penutupan agar membuat lawan lengah dan saat eksekusi memberikan wow effect kepada pesaing.

Solusi:
Banyak website untuk voting menggunakan sistem connect to facebook yang mana membuat pengguna facebook tidak perllu melakukan registrasi, cukup dengan login mereka bisa langsung vote. Hal ini mempermudah pengunjung dan pendukung.
 
The administrator has disabled public write access.
#1416
elsa rosyidah
Expert Boarder
Posts: 93
graphgraph
User Offline Click here to see the profile of this user
Re:Teknik Filterisasi Fake Account Registrasi AIMA 2 Years, 1 Month ago Karma: 12
mangcobi wrote:
Metode ini tidak bisa diterapkan karena:
(1)
a. IP address bukan hanya mengacu pada satu komputer melainkan kepada satu device yang mana bila anda memiliki router anda akan memiliki 1 ip yang bisa diakses banyak komputer. Warnet juga banyak yang hanya memiliki 1 IP.

b. Ada juga yang melakukan voting menggunakan 1 PC karena mengajak teman atau saudara.

Intinya filterisasi berdasar IP tidak valid.

(2) Berdasarkan waktu duration break juga adalah metode yang aneh karena bila diterapkan maka di warnet hanya bisa 1x register selama periode waktu tertentu.

Filterisasi waktu yang dapat dilihat adalah penambahan jumlah vote secara signifikan. metode yang kami amati adalah menjelang hari terakhir ada kelompok yang peningkatannya out of the box hingga ribuan perhari. yang jadi perhatian kami adalah peningkatan tersebut terjadi dari tengah malam hingga pagi. Logika sederhana adalah: Jam tengah malam adalah waktunya istirahat. kalau mereka bisa memperoleh ribuan suara di tengah malam, harusnya mereka bisa memperoleh puluhan ribu di siang hari. Kecurigaan kedua adalah waktu penambahan jumlah vote menjelang hari penutupan terutama 3 hari terakhir. Modusnya kemungkinan adalah dengan membuat fake account sebanyak-banyaknya dan dan mengaktivasinya namun untuk votenya dilakukan menjelang hari penutupan agar membuat lawan lengah dan saat eksekusi memberikan wow effect kepada pesaing.

Solusi:
Banyak website untuk voting menggunakan sistem connect to facebook yang mana membuat pengguna facebook tidak perllu melakukan registrasi, cukup dengan login mereka bisa langsung vote. Hal ini mempermudah pengunjung dan pendukung.



terima kasih atas analisanya.

penjelasan kami sederhana, jika memang metode filterisasi IP dan duration break tidak valid, terus mengapa metode tsb digunakan Google dan Yahoo?
berarti ada orang yang lebih keren daripada timnya Google dan Yahoo.
hehe

ttg metode menggunakan social service network (SSN) spt Facebook, twitter etc, itupun masih ada celah.
perlu diingat bahwa usulan ini kami kirim sebelum masa vote,
jauh lebih awal daripada usulan dr tmen2 yang masuk ketika masa vote.

Kami memang berencana untuk memberi masukan baru setelah waktu kami agak longgar ,
yakni registrasi melalui social service network.
Kami tunda sampaikan ke panitia karena metode SSN terdapat kelemahan juga.

Berikut beberapa kelemahan registrasi SSN.
1)yang ramai SSN, bukan AOOTB
kalau pendaftaran dan aktivatas vote di SSN spt facebook, lha nanti yang ramai ya facebook, bukan website resmi Axioo, padahal yg capek Axioo. krn trafik tinggi>>page rank tinggi>>branding tinggi. Sbg decision maker, kita tdk hanya memandang aspek teknis IT, tp juga manajemen strategi.

2)fake account (lagi)
peserta juga bisa membuat account sebanyak-banyaknya meski pakai SSN. contoh kasus : kompetisi One Young World yang akan dilaksanakan februari 2010 di London gunakan facebook untuk vote dan dukungan finansial 3.000 euro. Ada peserta dari Mexico yg ketahuan mbuat ratusan fake account.

semoga bermanfaat

Elsa Rosyidah
branding from helping
YES UB - Malang
 
Last Edit: 2010/01/01 17:49 By elsa2506.
The administrator has disabled public write access.
#1419
David Yacobus
Fresh Boarder
Posts: 14
graphgraph
User Offline Click here to see the profile of this user
Re:Teknik Filterisasi Fake Account Registrasi AIMA 2 Years, 1 Month ago Karma: 0
1. Filterisasi IP setahu saya digunakan Yahoo & Google karena adanya bot yang digunakan untuk membuat account secara otomatis dan mengirim spam dalam jumlah besar. Tujuan utamanya bukan masalah fake user id tapi lebih kepada bandwith dan resource management untuk mencegah server mereka overload.

2. Penggunaan social networking hanyalah untuk simple sign-in, yang bakal rame malah situs social networkingnya? Nggak juga karena apabila ada daya tarik dari situs AOOTB maka pasti akan tetap dikunjungi. Hanya masalah registrasi bisa di-LINK dengan facebook. Contoh yang sudah ada adalah pada creativesolutionsaward dan holcim,membangun bersama. Penyebabnya adalah user belum tentu mau repot daftar ke AOOTB kalau hanya untuk memberikan vote. Dengan simple sign-in maka jumlah voter akan dapat meningkat sekaligus menghapus sistem pendaftaran yang merepotkan user.

3. Fake account yang jadi masalah ini adalah pelakunya peserta. Kalau pelakunya pendukung ya lain ceritanya. Makanya ada kelas etika bisnis bukan cuma Manajemen Strategi.
 
The administrator has disabled public write access.
#1422
Suhandi s
Gold Boarder
Posts: 181
graph
User Offline Click here to see the profile of this user
Re:Teknik Filterisasi Fake Account Registrasi AIMA 2 Years, 1 Month ago Karma: 10
sistem dipertegas saja. Buat peraturan dari vote. Ex: jika ketawan peserta melakukan kecurangan maka akan didiskualifikasi dari sistem vote..

Tapi yang jadi pertanyaan vote di nasional nanti,,dilanjutkan dari point yang sudah diperoleh skrg, atau mulai dari 0?
 
Last Edit: 2010/01/01 23:31 By Suhandies.
Regards- Suhandi s (lampung) www.suhandi.com .모든 당사자들의 지원을 기대 우리 투표 UNILAxioo TM
The administrator has disabled public write access.
#1425
David Yacobus
Fresh Boarder
Posts: 14
graphgraph
User Offline Click here to see the profile of this user
Re:Teknik Filterisasi Fake Account Registrasi AIMA 2 Years, 1 Month ago Karma: 0
Sepertinya lebih baik vote tidak digunakan lagi agar lebih fokus ke eksekusi marketing plan. Daripada nanti berubah jadi voting awards
 
The administrator has disabled public write access.
Go to topPage: 12
get the latest posts directly to your desktop