^_^ เอาวิธีป้องกัน spam ในบอร์ด SMF มาฝากครับ

เริ่มโดย Nathan_bc, 07 สิงหาคม 2009, 14:46:25

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

Nathan_bc

วิธีป้องกัน spam ในบอร์ด SMF

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

ส่วนมาก spam จะโพสต์ลิ้งค์เข้ามาด้วย ผมมีวิธีแก้มาให้ลองครับ ซึ่งเป็นการกำหนดว่าหากไม่สมัครเป็นสมาชิกจะไม่สามารถโพตส์ข้อความที่มีลิ้งค์ได้  

แต่หาก spam มันฉลาด มันสามารถสมัครสมาชิกเองได้ เราก็ไป Set ในระบบให้สมาชิกตั้งรหัสผ่านที่ยากขึ้น หรือให้สมาชิกยืนยันการสมัครผ่านอีเมลล์ แค่นี้เราก็ป้องกัน spam ได้แล้วครับ

:D

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



เข้าไปในไฟล์  ./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'; } }
//




หลังจากนั้นเข้าไปที่ไฟล์  ./Themes/default/languages/Errors.thai.php

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

เพียงเท่านี้เราก็หมดปัญหาเรื่อง spam   ;D


อ้างอิง : http://www.justusers.net/forum/index.php?topic=561.0

TOOAds.com

ให้สมาชิกเท่านั้นที่โพสได้สิครับ

Twenty-One

#2
อื้มคงต้องลองใช้ดูว่าจะ work รึเปล่า กลัวมันจะ block user ทั่วไปด้วย
เห็น script มัน look for www.
# บริการโฮสติ้งขั้นเทพ 24/7 เปิดให้บริการ web hosting มาแล้ว 14 ปี ลูกค้ากว่า 40,000 ราย ให้ความไว้วางใจ
# [direct=https://www.hostneverdie.com]hosting[/direct] คุณภาพสูง ดูแลระบบโดย system engineer ประสบการณ์สูง
# [direct=https://www.hostneverdie.com]host[/direct] เร็ง แรง ไม่มีล่ม ติดตั้ง cms ฟรี
# [direct=https://www.hostneverdie.com/vps-server]vps[/direct] ราคาถูก 50GB 999 บาท

[direct=https://www.hostneverdie.com][/direct]

Nathan_bc

อ้างถึงจาก: Twenty-One ใน 07 สิงหาคม 2009, 14:59:14
อื้มคงต้องลองใช้ดูว่าจะ work รึเปล่า กลัวมันจะ block user ทั่วไปด้วย
เห็น สนเรแ มัน look for www.
ผมลองแล้วครับ User ทั่วไปจะไม่สามารถโพสต์ข้อความที่มีลิ้งค์ได้ครับ   :D ต้องเป็นสมาชิก

Kamilia

อืม........ถ้าใช้ได้ก็ดีเพราะรำคานมากกกกกกกกกกก

แบบสมาชิกพุ่งพรวดๆ  เพราะมาขาย ไวอกร้า

Nathan_bc

อ้างถึงจาก: TOOAds.com ใน 07 สิงหาคม 2009, 14:57:27
ให้สมาชิกเท่านั้นที่โพสได้สิครับ
เผื่ออยากเปิดให้สมาชิกทั่วไปโพสต์ข้อความธรรมดาๆได้ แต่ไม่ให้โพสต์ลิ้งค์ครับ  :D

Twenty-One

อ้างถึงจาก: Nathan_bc ใน 07 สิงหาคม 2009, 15:01:21
อ้างถึงจาก: Twenty-One ใน 07 สิงหาคม 2009, 14:59:14
อื้มคงต้องลองใช้ดูว่าจะ work รึเปล่า กลัวมันจะ block user ทั่วไปด้วย
เห็น สนเรแ มัน look for www.
ผมลองแล้วครับ User ทั่วไปจะไม่สามารถโพสต์ข้อความที่มีลิ้งค์ได้ครับ   :D ต้องเป็นสมาชิก

อ่อ ขอบคุณครับ เดี๋ยวเอาไปใช้บ้างดีกว่า
# บริการโฮสติ้งขั้นเทพ 24/7 เปิดให้บริการ web hosting มาแล้ว 14 ปี ลูกค้ากว่า 40,000 ราย ให้ความไว้วางใจ
# [direct=https://www.hostneverdie.com]hosting[/direct] คุณภาพสูง ดูแลระบบโดย system engineer ประสบการณ์สูง
# [direct=https://www.hostneverdie.com]host[/direct] เร็ง แรง ไม่มีล่ม ติดตั้ง cms ฟรี
# [direct=https://www.hostneverdie.com/vps-server]vps[/direct] ราคาถูก 50GB 999 บาท

[direct=https://www.hostneverdie.com][/direct]

imodxlstep

วันก่อนผมก็เจอแสปมคิดดูแล้วกันครับ มันสมัครสมาชิกเข้าไป
ตอนแรก ๆ ก็ไม่คิดจะลบ id สมาชิก spam นะ มันขึ้นมาทุกวัน ๆๆๆๆๆ
อยู่มาวันหนึ่ง มันซัดมาเป็นสามสิบสี่สิบกระทู้เลย


คือ บอร์ดผมชอบให้สมาชิกทั่วไปโพสได้ไง

แต่ยังหาวิธีทำไม่ได้เลย ขอบคุณไว้ก่อน ว่าง ๆ จะมาลองทำตามดูครับ
[direct=https://submit.shutterstock.com/?ref=4444966]ขายรูปออนไลน์ทั่วโลกกับเว็บไซต์ Shutterstock.com[/direct]

[direct=https://goo.gl/Miqe1v]อยากรวย ไปหาหนังสือนี้มาอ่านนะครัช[/direct]

เป็นแค่คน ๆ หนึ่ง ซึ่งรักกล้วยไม้  สนใจในกล้วยไม้ เพราะกล้วยไม้เป็นสิ่งที่ธรรมชาติ บรรจงสร้างสรรขึ้นมาเพื่อให้โลกสวยงาม ตื่นเช้ามาก็รดน้ำกล้วยไม้ ใส่ปุ๋ยกล้วยไม้ ผมรักกล้วยไม้...เว็บไซต์กล้วยไม้ [direct=http://www.tjorchid.com]TJorchid.com[/direct] [direct=http://www.tjorchid.com/?page_id=8472]วิธีจ่ายเงินซื้อของ Lazada[/direct]

เก๋าลัดคุง

[direct=https://www.mescript.com/]Pc Game Download [/direct]
[direct=https://www.mescript.com/]Pc Game Download [/direct]
[direct=https://www.mescript.com/]Pc Game Download [/direct]
[direct=https://www.mescript.com/]Computer Programming and Knowledge make By MeScript.com.com [/direct]
[direct=https://www.mescript.com/]รับพัฒนาเว็บไซต์ + รับจดโดเมน + Hosting ราคาถูก [/direct]

cowboyIT


เก๋าลัดคุง

#10


- ผมต้องการ Set ให้ สมาชิกยืนยันการสมัครผ่านอีเมลล์ เลือกอันไหนครับ

- Allow users to register using OpenID [อนุญาตให้ผู้ใช้ลงทะเบียนใช้ OpenID] คืออะไร

[Thanks]
[direct=https://www.mescript.com/]Pc Game Download [/direct]
[direct=https://www.mescript.com/]Pc Game Download [/direct]
[direct=https://www.mescript.com/]Pc Game Download [/direct]
[direct=https://www.mescript.com/]Computer Programming and Knowledge make By MeScript.com.com [/direct]
[direct=https://www.mescript.com/]รับพัฒนาเว็บไซต์ + รับจดโดเมน + Hosting ราคาถูก [/direct]

brightz

อ้างถึงจาก: webhot ใน 07 สิงหาคม 2009, 16:18:57


ผมต้องการ Set ให้ สมาชิกยืนยันการสมัครผ่านอีเมลล์ เลือกอันไหนครับ thak
อันที่ highlight แหละครับ

อันที่สามต้องอนุมัติก่อน

lingbaa

บอร์ดผมตั้งให้ คนสมัครแล้วใช้โพสได้เลย มากันเพียบเลย วันนี้ ตามลบ ตามแบนกันไม่ไหวตอนนี้เปลี่ยนมาเป็นแบบ รอคอนเฟริ่มจาก admin แทน ไม่รู้จะแก้ได้มั้ยน่า แต่จะเสียเวลามาตอบเนอะ
[direct=http://www.lingbaax.com]LingBaaX[/direct]

homekung

อ้างถึงจาก: webhot ใน 07 สิงหาคม 2009, 16:18:57


- ผมต้องการ Set ให้ สมาชิกยืนยันการสมัครผ่านอีเมลล์ เลือกอันไหนครับ

- Allow users to register using OpenID [อนุญาตให้ผู้ใช้ลงทะเบียนใช้ OpenID] คืออะไร

[Thanks]

ใช้ member activity ครับ
[direct=https://animateus.in.th]รับทำ 2d animation[/direct] [direct=https://animateus.in.th]รับทำ 2d infographics[/direct][direct=https://www.facebook.com/animateus122]รับทำ 2d cartoon animation[/direct][direct=https://www.fiverr.com/chanarachl/make-2d-animation-or-whiteboard-video-for-any-purpose]2d animation[/direct][direct=https://vimeo.com/animateus10]รับทำ animation[/direct]

victory


IceCOin

[direct=http://howtodeclutteryourhome.com]declutter home[/direct]
[direct=http://treatingfortermites.com]termite treatment[/direct]

Spamer

ขอบคุณคับ  :)

แล้วมีวีธีแสปมไหมคับ  ;D
ทะเลที่เงียบสงบ ไม่เคยสร้างนักเดินเรือผู้เชียวชาญ !

robby

[Direct=https://www.google.com]Google[/Direct]

net1

ของผมใช้ GeoIP เข้าช่วย ถ้ามาจากไทย เวลา Register ก็ไม่ต้อง confirm ทางอีเมล์ แต่ถ้าจาก ต่างประเทศก็ต้อง confirm

เก๋าลัดคุง

SMF 2.0 RC1.2
้ถ้า Post รูปใหญ่ 1,134 x 850 pixels อยากให้ SMF ย่อลงมาเข้่าระบบ Admin หรือ แก้ไฟล์ไหน ได้บางครับ [Thank++]

ีรูปล่างสุด
หน้าเำพจที่ต้องการแก้ครับ http://www.mescript.com/forum/index.php?topic=3.msg3#msg3
[direct=https://www.mescript.com/]Pc Game Download [/direct]
[direct=https://www.mescript.com/]Pc Game Download [/direct]
[direct=https://www.mescript.com/]Pc Game Download [/direct]
[direct=https://www.mescript.com/]Computer Programming and Knowledge make By MeScript.com.com [/direct]
[direct=https://www.mescript.com/]รับพัฒนาเว็บไซต์ + รับจดโดเมน + Hosting ราคาถูก [/direct]