Home Tutorial Ngeblok Link/URL dan Sensor kata pada AJAX Shoutbox
meisyal
E-mail
Ngeblok Link/URL dan Sensor kata pada AJAX Shoutbox
Tutorial
andrias meisyal yuwantoko, Thursday, 29 May 2008 17:46

Salam semua Joomlaers,

Sebelumnya mungkin para Joomlers, pernah mencoba atau setidaknya menggunakan komponent AJAX Shoutbox.
Komponen ini sesungguhnya merupakan implementasi dari web versi 2.0 yang cukup bagus.
Mampu membuat pengunjung website kita bisa berinteraksi secara lebih baik lagi, jika dibanding dengan teknologi web versi sebelumnya.
Namun ternyata terdapat kelemahan yang cukup "mengganggu" pada komponen AJAX Shoutbox ini.
Kelemahannya :
a. Tidak adanya fasilitas yang men-disable URL / LINK yang dimasukkan dalam kolom komentarnya
b. Tidak adanya sensor kata-kata kasar / jorok / atau sejenisnya.

 

Berikut ini saya mencoba berbagi "ilmu" bagaimana caranya memodifikasi module AJAX Shoutbox sehingga bisa mengatasi kedua kelemahan di atas. 

Jika ada telah mengistall module / component AJAX Shoutbox ini,

masuklah ke dalam direktori / folder : modules

Gunakan Editor misalnya Dreamweaver, buka / open file bernama : mod_shoutbox.php

Carilah beberapa sytax PHPscript berikut ini di dalam file mod_shoutbox.php :

// Register globals - Thanks Karan et Etienne
$jal_lastID    = isset($_GET['jal_lastID']) ? $_GET['jal_lastID'] : "";
$jal_user_name = isset($_POST['n']) ? $_POST['n'] : "";
$jal_user_url  = isset($_POST['u']) ? $_POST['u'] : "";
$jal_user_text = isset($_POST['c']) ? $_POST['c'] : "";
$jalGetChat    = isset($_GET['jalGetChat']) ? $_GET['jalGetChat'] : "";
$jalSendChat   = isset($_GET['jalSendChat']) ? $_GET['jalSendChat'] : "";


Sisipkanlah fungsi berikut ini (copy / paste) ke dalamnya sesudah sytax PHPScript di atas :

function sensorkata($kalimat) {
   $linkterlarang = array(".com","www","http","script","href","div","frame");
   $kataterlarang = array("anjing","bangsat","monyet","goblok","tolol","bodoh","tahi","tai","perek","banci","gila","pantat","pelacur","gigolo","kerok", "ndeso","asu",
   "kontol","memek","berak","boker","pipis","kencing","bloon");
   $boleh = true;
   for ($i = 0; $i<count($linkterlarang); $i++) {
       if (preg_match("/".$linkterlarang[$i]."/i", mysql_real_escape_string($kalimat))) {$boleh = false;}
   }
   for ($i = 0; $i<count($kataterlarang); $i++) {
       if (preg_match("/".$kataterlarang[$i]."/i", mysql_real_escape_string($kalimat))) {$boleh = false;}
   }
   return $boleh;
}



Sekarang anda scroll sehingga menemukan fungsi yang bernama :
function jal_addData($jal_user_name,$jal_user_text,$jal_user_url)

Scroll ke bawah lagi sampai anda menemukan perintah :
 mysql_query("INSERT INTO ".$prefix."liveshoutbox (time,name,text,url) VALUES ('".time()."','".mysql_real_escape_string($jal_user_name)."','".mysql_real_escape_string($jal_user_text)."','".mysql_real_escape_string($jal_user_url)."')", $conn);

Ubahlah perintah tersebut (copy / paste) dengan perintah berikut ini (di-replace saja) :
if (sensorkata(mysql_real_escape_string($jal_user_text))==true) {
           mysql_query("INSERT INTO ".$prefix."liveshoutbox (time,name,text,url) VALUES ('".time()."','".mysql_real_escape_string($jal_user_name)."','".mysql_real_escape_string($jal_user_text)."','".mysql_real_escape_string($jal_user_url)."')", $conn);
        }



Save / simpan seluruh perubahan di atas, lalu coba anda test Shoutbox tersebut (di website anda), sekarang anda mendapatkan Shoutbox yang "bersih" dari Link / URL iklan / spam / sejenisnya. Disamping itu kata-kata kurang pantas (disensor) juga tidak dapat dimasukkan ke dalam Shoutbox ini.

Bagaimana jika masih ada kata2x "kasar / jorok" lolos dari sensor ini ??
Gampang banget, anda tinggal menambahkan kata2x yg lolos sensor tersebut ke dalam fungsi :

function sensorkata($kalimat)

tepatnya di dalam variabel : $kataterlarang

Mudah bukan ??

Semoga Bermanfaat

 

Comments
Search
kok malah jadi error ya mas
arya2502 2008-06-21 07:37:06

sudah kuikuti ngerubahnya kok malah jadi error ya :cry
keluar tulisan Parse
error: syntax error, unexpected $end in
/home/assalaam/public_html/modules/mod_shoutbox.ph p on line 532
mohon
pencerahannya
Kok nama penulis artikel ini bukan saya
xny 2008-09-26 22:20:30

Ehmm.. halo.. admin id-joomla.com, artikel ini sebenarnya yang posting (aslinya)
saya (username : XNY), tapi setelah beberapa waktu saya lihat kok bukan nama
saya yang jadi penulisnya ??

Apa ada unsur "kesengajaan" mengganti
nama penulis artikel ini ??

Btw, bukti tips AJAX ini livenya bisa dilihat di
website yang saya kerjakan :

http://kdi.tpi.tv

Kebetulan saya web
developernya..

Tolong diklarifikasi lagi hal ini..
kok eror??
ombenz 2009-03-17 05:14:22

iya bos,..kok jadi eror ya??
pencerahannya donks
Only registered users can write comments!

3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."

Last Updated on Wednesday, 10 June 2009 17:05  

JUG Indonesia

Id-joomla.com adalah situs resmi Joomla User Group (JUG) Indonesia dan Joomla Translation Team

Download Terjemahan Joomla terakreditasi dari JoomlaCode dan laporkan bugs, ide dan saran nya di Sub Forum Hanacaraka

Login

Web
ID-Joomla
Banner
Dengarkan siaran radio ID-Joomla   Chatroom ID-Joomla   Facebook Page ID-Joomla
We have 976 guests and 2 members online
Joomla! is the trademark of Open Source Matters, Inc in the United States and other countries. The Joomla! name is used under a limited license granted by Open Source Matters.
Id-joomla.com is not affiliated with or endorsed by Open Source Matters or the Joomla! Project