Joomla Indonesia

Login or Sign Up
Sign In or Register
Avatar
Not Registered Yet?

Join Now! It's FREE. Get full access and benefit from this site

Reset My password - Remind Me My username

Username
Password
Remember me
  • Home
    Home This is where you can find all the blog posts throughout the site.
  • Categories
    Categories Displays a list of categories from this blog.
  • Tags
    Tags Displays a list of tags that have been used in the blog.
  • Bloggers
    Bloggers Search for your favorite blogger from this site.
  • Team Blogs
    Team Blogs Find your favorite team blogs here.
  • Login
    Login Login form

Ngeblok Link/URL dan Sensor kata pada AJAX Shoutbox

Posted by on in Tutorial
  • Font size: Larger Smaller
  • Hits: 5640
  • 3 Comments
  • Subscribe to this entry
  • Print

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

 

0

People in this conversation

  • Guest - arya2502

    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.php on line 532
    mohon pencerahannya

    0 Like Short URL:
  • Guest - xny

    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..

    0 Like Short URL:
  • Guest - ombenz

    iya bos,..kok jadi eror ya??
    pencerahannya donks

    0 Like Short URL:

Kategori Blog

Joomla User Group Indonesia

Joomla User Group 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

Socials

twitter id joomlafb idjoomla