วันศุกร์ที่ 18 กุมภาพันธ์ พ.ศ. 2554

การเพิ่มคำสั่งบล็อกบ็อท spam (ลิตเติลแคท)

อ้างถึง

การเพิ่มคำสั่งบล็อกบ็อท spam

ในกรณีที่เจอปัญหาบ็อทโพสกระทู้ที่ทิ้งลิงค์ไว้ เราสามารถเพิ่มสคริปคำสั่งบล็อกการโพสกระทู้เหล่านั้นด้วยผู้ใช้งานที่ไม่ล็อกอิน (บ็อท)


ในไฟล์ /Sources/Post.php
ค้นหาส่วนนี้้

อ้างถึง
if (empty($modSettings['guest_post_no_email'])) { if (!isset($_REQUEST['email']) || $_REQUEST['email'] == '') $context['post_error']['no_email'] = true; elseif (preg_match('~^[0-9A-Za-z=_+\-/][0-9A-Za-z=_\'+\-/\.]*[แอท][\w\-]+(\.[\w\-]+)*(\.[\w]{2,6})$~', stripslashes($_REQUEST['email'])) == 0) $context['post_error']['bad_email'] = true; }


เพิ่มส่วนนี้ไว้ต่อท้าย

อ้างถึง
//  ป้องกัน Spam
$linkpos = strpos ($_POST['message'], "://"); // look for :// 
if ($linkpos !== false) $context['post_error']['guest_no_link'] = true; else { $linkpos = strpos ($_POST['message'], "www."); // look for www. 
if ($linkpos !== false) $context['post_error']['guest_no_link'] = true;}


ในไฟล์เดียวกัน ค้นหาส่วนนี้

อ้างถึง
// Now make sure this email address is not banned from posting.
isBannedEmail($_POST['email'], 'cannot_post', sprintf($txt['you_are_post_banned'], $txt[28]));


เพิ่มส่วนนี้ต่อท้าย

อ้างถึง
// ป้องกัน Spam
 if (isset($_POST['message'])) { $linkpos = strpos ($_POST['message'], "://"); 
// look for :// 
 if ($linkpos !== false) $post_errors[] = 'guest_no_link'; else { $linkpos = strpos ($_POST['message'], "www."); 
// look for www. 
 if ($linkpos !== false) $post_errors[] = 'guest_no_link'; } }


ทีนี้ บุคคลทั่วไป หรือผู้ใช้งานใดๆ ก็ตามที่ไม่ได้ล็อกอิน ก็จะไม่สามารถตั้งกระทู้ที่มี :// หรือ www. (ตามที่ตั้งค่าไว้) ได้





การเพิ่มเหตุผลของข้อผิดพลาด

เมื่อเราเพิ่มคำสั่งบล็อกการโพสลิงค์แล้ว เรายังสามารถแนบเหตุผลของข้อผิดพลาดดังกล่าวได้ด้วยการเพิ่มสคริป

จากเดิมที่ไม่แสดงเหตุผลใดๆ 
ปรากฎข้อผิดพลาดตังต่อไปนี้ขณะส่งข้อความนี้:



ในไฟล์ /Themes/default/languages/Errors.thai.php
เพิ่มส่วนนี้ไว้ต่อท้าย

อ้างถึง
//  ป้องกัน Spam
$txt['error_guest_no_link'] = 'ขออภัย  บุคคลทั่วไปไม่สามารถโพสลิงค์ได้  กรุณาลงทะเบียน';


ผลสุดท้าย เมื่อมีบุคคลทั่วไปทำการตั้งกระทู้ด้วยเนื้อหาที่มีลิงค์ ก็จะได้ผลดังนี้

ไม่มีความคิดเห็น:

แสดงความคิดเห็น