ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programming[! มากันบอร์ด SMF ไม่ให้ฝรั่งโพสต์ spamกันเถอะ] สไตล์ไทยๆสำหรับคนยังไม่ได้ลง mod
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: [! มากันบอร์ด SMF ไม่ให้ฝรั่งโพสต์ spamกันเถอะ] สไตล์ไทยๆสำหรับคนยังไม่ได้ลง mod  (อ่าน 6949 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
siamjung
Verified Seller
ก๊วนเสียว
*

พลังน้ำใจ: 25
ออฟไลน์ ออฟไลน์

กระทู้: 419



ดูรายละเอียด เว็บไซต์
« เมื่อ: 30 สิงหาคม 2010, 16:17:36 »

[! มากันบอร์ด SMF ไม่ให้ฝรั่งโพสต์spamกันเถอะ] สไตล์ไทยๆป้องกันก่อนโพสต์ข้อความ!  wanwan015 เผื่อเพื่อนๆบางคนยังไม่ได้ลง mod กันการแสปมเพิ่มครับ

ต้องขอบคุณพี่ต่อ tdelphi ที่แนะนำไอเดียให้

จริงๆก็มี mod อยู่หลายตัว แต่บางทีไม่ตรงตามความต้องการในการใช้งาน และส่วนใหญ่เป็น mod ตอนจะ register

ผมก็เลยลองเขียนมันเองดูให้กันตอนกรอกข้อความกระทู้ที่จะโพสต์ด้วย ถ้าใครยังโดนแสปมจากฝรั่งอยู่ก็ลองใช้ mod นี่ดูนะครับ เพิ่งเขียนเสร็จแล้วก็เทสไปแล้ว ok ใช้ได้ดีไม่มีปัญหา

( หมายเหตุลองกับ smf ไม่ได้เวอร์ชั่นใหม่สุด แต่ก็เป็นมาตรฐาน ok โย่วๆ ก่อนแก้ไขกรุณา backup ไฟล์เดิมของท่านที่จะแก้ไขเอาไว้ก่อน กันข้อผิดพลาดที่อาจเกิดขึ้นครับ )



-----------------------------------------------------------------------

มาเริ่มกันเลยครับ เปิดไฟล์ Themes/default/Post.template.php หรือ theme ที่คุณใช้และมีการสร้าง template แยก ก็ให้เลือกไฟล์ Post.template.php

ประมาณบรรทัดที่ 969 จาก default theme  จากโค๊ด

โค๊ด:
// Finally the most important bit - the actual text box to write in!
echo '
<tr>
<td valign="top" align="right"></td>
<td>
<textarea class="editor" name="', $context['post_box_name'], '" rows="', $context['post_box_rows'], '" cols="', $context['post_box_columns'], '" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);" onchange="storeCaret(this);" tabindex="', $context['tabindex']++, '"', isset($context['post_error']['no_message']) || isset($context['post_error']['long_message']) ? ' style="border: 1px solid red;"' : '', '>', $message, '</textarea>
</td>
</tr>';

ใส่โค๊ดนี้เพิ่มเติมต่อท้ายเข้าไปครับ

โค๊ด:
// tohm block farang แสดงช่องให้กรอกข้อมูลกันการแสปมแบบภาษาไทย 
   echo '
         <tr>
     <td valign="top" align="right">กันการแสปม</td>
<td>
                   '.$txt['randomblockfarang'].' <input type="text" name="ForThaiPost"  size="50" />
</td>
</tr>' ;

-------------------------------------------------------------------------

ทีนี้เปิดไฟล์ Themes/default/languages/Errors.english <- หากใช้ eng lang และ Errors.thai-utf8.php <- หากใช้ภาษาไทยร่วมด้วย

เพิ่มโค๊ดนี้เข้าไปครับ เอาไว้ล่างสุดของบรรทัดก็ได้

โค๊ด:
$txt['error_answer_wrong'] = 'คำตอบเพื่อกันการแสปมของคุณไม่ถูกต้อง!' ;

หรือใส่โค๊ดนี้เข้ไปสำหรับเวอร์ชั่นภาษาอังกฤษ

อ้างถึง
$txt['error_answer_wrong'] = 'your answer not match!' ;



----------------------------------------------------------------------

ทีนี้ก็มาที่ไฟล์สุดท้ายครับ เปิดไฟล์ Sources/Post.php

ที่ function Post ประมาณบรรทัดที่ 92 หรือจากโค๊ด

โค๊ด:
function Post()
{
global $txt, $scripturl, $topic, $db_prefix, $modSettings, $board, $ID_MEMBER;
global $user_info, $sc, $board_info, $context, $settings, $sourcedir;
global $options, $func, $language;

loadLanguage('Post');

เพิ่ม code นี้เข้าไปครับ

โค๊ด:
	/* tohm block farang เพิ่มโค๊ดส่วนของป้องกันการแสปมจากต่างประเทศ powered by Ittiphol Pudgrajang */

$blockfarang = array('A'=>array('คำนำหน้านามของผู้ชายไทยคือ','นาย'),
                                       'B'=>array('คำนำหน้านามของผู้หญิงไทยที่แต่งงานแล้วคือ','นาง'),
                                   'C'=>array('คำว่า "เมีย" ในภาษาไทย เรียกให้สุภาพอีกอย่างหนึ่งคือ','ภรรยา'),
                                   'D'=>array('คำว่า "การท่องเที่ยว" มีตัว "ท" อยู่ทั้งหมดกี่ตัว (ตอบเป็นตัวเลข)','2')
                                   )
;

shuffle($blockfarang) ;
   $txt['randomblockfarang'] = $blockfarang[0][0] ; 
$_SESSION['blockfarang_answer'] = $blockfarang[0][1] ;


--------------------------------------------------------------------

ขั้นตอนสุดท้ายครับ ไปที่ function Post2 ประมาณบรรทัดที่ 1280 หรือตรงโค๊ด

โค๊ด:
	// Check the subject and message.
if (!isset($_POST['subject']) || $func['htmltrim']($_POST['subject']) === '')
$post_errors[] = 'no_subject';
if (!isset($_POST['message']) || $func['htmltrim']($_POST['message']) === '')
$post_errors[] = 'no_message';


ให้เพิ่มคำสั่งนี้ต่อท้ายเข้าไปครับ

โค๊ด:
 /* tohm block farang powered by Ittiphol Pudgrajang */
   if($_SESSION['blockfarang_answer']!=$_POST['ForThaiPost'])  // ตรวจสอบข้อความที่กรอกมากันฝรั่งแสปม
       $post_errors[] = 'answer_wrong' ;

##########################################

upload script ที่แก้ไข แล้วลองเตรียมโพสต์ดูครับ ก็จะเห็นว่ามีข้อความกันการแสปมจากฝรั่งเพิ่มเข้ามา

ในส่วนของคำถามคำตอบเพื่อนๆสามารถแก้ไขหรือเพิ่มเติมได้เองนะครับ ที่ตัวแปลหลักเลยครับ

$blockfarang = array('A'=>array('คำนำหน้านามของผู้ชายไทยคือ','นาย'),
                                          'B'=>array('คำนำหน้านามของผู้หญิงไทยที่แต่งงานแล้วคือ','นาง'),
                                         'C'=>array('คำว่า "เมีย" ในภาษาไทย เรียกให้สุภาพอีกอย่างหนึ่งคือ','ภรรยา'),
                                         'D'=>array('คำว่า "การท่องเที่ยว" มีตัว "ท" อยู่ทั้งหมดกี่ตัว (ตอบเป็นตัวเลข)','2')
                     ) ;

$blockfarang = array('Aหรืออะไรก็ได้เป็น key เผื่อนำไปประยุกข์ใช้ลักษณะอื่น => array('คำถาม','คำตอบ') ,
                              'Bคำถามอื่นๆ=>array('คำถามอื่น','คำตอบอื่นๆ)
                              ) ;

###################################################

ลองประยุกข์ใช้งานกันดูนะครับ เผื่อมีประโยชน์สำหรับบางท่านที่ยังไม่ได้ลง mod เพิ่มครับ
บันทึกการเข้า

งดรับงาน custom coding เตรียมพบบริการใหม่เร็วๆนี้

รับทำ PHP หรือปรับระบบระดับ bigbig เน้น cache คนเข้าแบบกระฉูดๆ <- สมัยก่อน

KendoUI,Ajax,Json,Custom Framework,JqueryUI,Adodb,Memcache,Smarty <- สมัยก่อน

Indicator สัญญาณเทรดคมๆ

App เรียนเทรดพื้นฐาน
NUT
ก๊วนเสียว
*

พลังน้ำใจ: 23
ออฟไลน์ ออฟไลน์

กระทู้: 306



ดูรายละเอียด เว็บไซต์
« ตอบ #1 เมื่อ: 30 สิงหาคม 2010, 16:21:05 »

ขอบคุณมากครับผมใช้ SMF 1.1.10 และ SMF 1.1.11  ใช้ได้ใช่ป่ะคับ
บันทึกการเข้า
Tangmosoft
ก๊วนเสียว
*

พลังน้ำใจ: 16
ออฟไลน์ ออฟไลน์

กระทู้: 290



ดูรายละเอียด เว็บไซต์
« ตอบ #2 เมื่อ: 30 สิงหาคม 2010, 16:25:10 »

ดีจัง ขอบคุณครับ  :Smiley
บันทึกการเข้า

HostGator (แบ่งขาย) Promotion แตงโม "ชิมฟรี ครึ่ง ลูก" ใช้ได้ไม่จำกัด Domain, Sub Domain !!! ทดลองใช้ Free !! 6 เดือนไปเลยยยย ไม่มีเงื่อนไข @ Tangmoserver.com PM หรือ โทร.08หก-หก281หก11
ขาย Web เซ็ง.com, ศูนย์กลางข้อมูล การขอ VISA เรียนต่อ ขอ PR ออสเตรเลีย
onlinenow
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 78
ออฟไลน์ ออฟไลน์

กระทู้: 1,548



ดูรายละเอียด
« ตอบ #3 เมื่อ: 30 สิงหาคม 2010, 16:29:34 »

ไอเดียแจ่มครับผมเพิ่งจะเปลี่ยนจากSMF เป็น wordpress ครับ มันมา Spam เป็นพันเซ็งกับมันจริง wanwan017
บันทึกการเข้า

siamjung
Verified Seller
ก๊วนเสียว
*

พลังน้ำใจ: 25
ออฟไลน์ ออฟไลน์

กระทู้: 419



ดูรายละเอียด เว็บไซต์
« ตอบ #4 เมื่อ: 30 สิงหาคม 2010, 16:36:18 »

ขอบคุณมากครับผมใช้ SMF 1.1.10 และ SMF 1.1.11  ใช้ได้ใช่ป่ะคับ

อืมม น่าจะได้มั้งครับ ต้องลอง ลองใน localhost ก่อนก็ดีครับ
บันทึกการเข้า

งดรับงาน custom coding เตรียมพบบริการใหม่เร็วๆนี้

รับทำ PHP หรือปรับระบบระดับ bigbig เน้น cache คนเข้าแบบกระฉูดๆ <- สมัยก่อน

KendoUI,Ajax,Json,Custom Framework,JqueryUI,Adodb,Memcache,Smarty <- สมัยก่อน

Indicator สัญญาณเทรดคมๆ

App เรียนเทรดพื้นฐาน
bouy22
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 408
ออฟไลน์ ออฟไลน์

กระทู้: 2,334



ดูรายละเอียด เว็บไซต์
« ตอบ #5 เมื่อ: 30 สิงหาคม 2010, 17:07:21 »

สามารถ นำไปประยุกต์ ใช้ กับ อย่างอื่น ที่ไม่ใช่้ SMF ก็ไม่ ใช่ไหมครับ
บันทึกการเข้า

สนใจทำธุรกิจไอศกรีมหนองโพ คลิกเลย | ลงประกาศโฆษณา ประกาศฟรี | เว็บฝากรูป | สคริปเกมแฟลช |
ผลิตภัณฑ์เสริมอาหารออกซิเจนน้ำ Adoxy
siamjung
Verified Seller
ก๊วนเสียว
*

พลังน้ำใจ: 25
ออฟไลน์ ออฟไลน์

กระทู้: 419



ดูรายละเอียด เว็บไซต์
« ตอบ #6 เมื่อ: 30 สิงหาคม 2010, 17:16:59 »

สามารถ นำไปประยุกต์ ใช้ กับ อย่างอื่น ที่ไม่ใช่้ SMF ก็ไม่ ใช่ไหมครับ

ครับ แนวทางเดียวกัน จะสร้าง input เพิ่มสำหรับรับข้อมูลบางอย่างเพิ่มก็ได้ครับ <-- ใน mysql เราก็ต้องสร้าง field ใน table เพิ่มด้วย
บันทึกการเข้า

งดรับงาน custom coding เตรียมพบบริการใหม่เร็วๆนี้

รับทำ PHP หรือปรับระบบระดับ bigbig เน้น cache คนเข้าแบบกระฉูดๆ <- สมัยก่อน

KendoUI,Ajax,Json,Custom Framework,JqueryUI,Adodb,Memcache,Smarty <- สมัยก่อน

Indicator สัญญาณเทรดคมๆ

App เรียนเทรดพื้นฐาน
tasorich
สมุนแก๊งเสียว
*

พลังน้ำใจ: 29
ออฟไลน์ ออฟไลน์

กระทู้: 541



ดูรายละเอียด
« ตอบ #7 เมื่อ: 30 สิงหาคม 2010, 17:18:59 »

กราบงามๆ ก่อน
+1
บันทึกการเข้า
analyser
ก๊วนเสียว
*

พลังน้ำใจ: 24
ออฟไลน์ ออฟไลน์

กระทู้: 287



ดูรายละเอียด
« ตอบ #8 เมื่อ: 30 สิงหาคม 2010, 17:22:04 »

ขอบคุณครับ  +1  ให้แล้ว ดีมากครับ ^^
บันทึกการเข้า

double_go
ก๊วนเสียว
*

พลังน้ำใจ: 24
ออฟไลน์ ออฟไลน์

กระทู้: 445



ดูรายละเอียด เว็บไซต์
« ตอบ #9 เมื่อ: 12 พฤษภาคม 2011, 11:41:16 »

บอร์ดถูก spam เซ็งพวกนี้จิงๆ เลยคับ
บันทึกการเข้า

shokarita
สมุนแก๊งเสียว
*

พลังน้ำใจ: 49
ออฟไลน์ ออฟไลน์

กระทู้: 996



ดูรายละเอียด เว็บไซต์
« ตอบ #10 เมื่อ: 12 พฤษภาคม 2011, 14:51:58 »

เยี่ยมๆๆ  wanwan011
บันทึกการเข้า

IKao
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 145
ออฟไลน์ ออฟไลน์

กระทู้: 2,291



ดูรายละเอียด
« ตอบ #11 เมื่อ: 12 พฤษภาคม 2011, 15:17:29 »

ไอเดียเจ๋งมากครับ
บันทึกการเข้า

แบบไหนเรียกว่า Advance?
itong
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 181
ออฟไลน์ ออฟไลน์

กระทู้: 1,363



ดูรายละเอียด เว็บไซต์
« ตอบ #12 เมื่อ: 12 พฤษภาคม 2011, 15:27:19 »

ไอเดียเยี่ยมครับ ขอจดไว้ก่อน
เดี๋ยวต้องไปนั่งดูก่อนว่า ถ้าจะกำหนดให้ กลุ่ม แอดมิน ไม่ต้องตอบคำถามจะต้องเพิ่มค่า อะไรบ้าง
แหะๆ  Tongue ขี้เกียจนั่งตอบเหมือนกัน
บันทึกการเข้า

กลับมาแระ ไม่ได้เข้าบอร์ดมาเป็นปี หาอะไรอ่านเล่นสักพักละกันโนะ
HostGator เดือนแรก 0.01$ code: thaizon1cent จ่ายรายปีใช้ thaizon25per ลด 25% จ้า  สมัครโฮสเกเตอร์
pay-skn
สมุนแก๊งเสียว
*

พลังน้ำใจ: 76
ออฟไลน์ ออฟไลน์

กระทู้: 857



ดูรายละเอียด
« ตอบ #13 เมื่อ: 14 พฤษภาคม 2011, 06:53:30 »

เจอวันละ20กระทู้  เซงเลยตั้งแต่เปลี่ยนใช้มาใช้smf
บันทึกการเข้า

นายนิ้งหน่อง
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 247
ออฟไลน์ ออฟไลน์

กระทู้: 2,395



ดูรายละเอียด เว็บไซต์
« ตอบ #14 เมื่อ: 14 พฤษภาคม 2011, 07:01:01 »

ขอบคุณมากครับ

แบบนี้กันได้แน่นอน
บันทึกการเข้า

Ninety
Newbie
*

พลังน้ำใจ: 1
ออฟไลน์ ออฟไลน์

กระทู้: 9



ดูรายละเอียด
« ตอบ #15 เมื่อ: 14 พฤษภาคม 2011, 09:27:06 »

ขอบคุณครับ
บันทึกการเข้า
ตั้มคอมพิวเตอร์
Verified Seller
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 365
ออฟไลน์ ออฟไลน์

กระทู้: 3,467



ดูรายละเอียด
« ตอบ #16 เมื่อ: 14 พฤษภาคม 2011, 09:31:43 »

แจ่มดีครับ
บันทึกการเข้า
หน้า: [1]   ขึ้นบน
พิมพ์