สวัสดีครับทุกๆคน หลังจากไม่ค่อยได้แบ่งปันอะไรเท่าไหร่ช่วงนี้ วันนี้ขอมาแบ่งปันเล็กๆน้อยๆนะครับ
ขอท้าวความซักเล็กน้อยก่อนนะครับ เนื่องจาก website ส่วนใหญ่ในปัจจุบันนี้ จะมีการโต้ตอบข้อมูลอะไรบางอย่างกับ user(ผู้ใช้) โดยส่วนใหญ่จะสามารถให้ user สามารถตั้งกระทู้หรือตอบข้อความต่างๆได้ เช่น weboard, comment หรือ ติดต่อ admin เป็นต้น ดังนั้นปัญหาที่พบกันบ่อยๆก็คือ มีการโดน
Spam ก่อนจะพูดถึงการแก้ไข เรามาดูกันก่อนไหมว่า Spam คืออะไร?
ผมขอสรุปแบบกว้างเลยนะครับ
Spam คือ การส่งข้อความเดิมๆหรือซ้ำๆให้ผู้รับที่ไม่ได้ต้องการจะรับข้อความนั้นๆ โดย Spam ส่วนใหญ่จะเป็นโฆษณา สินค้า หรือ บริการต่างๆจริงๆแล้ว Spam นี่จะมีอยู่หลายชนิดนะครับ ใครสนใจอ่านเพิ่มเติมได้ที่
http://en.wikipedia.org/wiki/Spam_(electronic)
มาดูกันต่ออีกนิดนะครับว่า Spam ของประเทศอะไรเยอะที่สุดในโลก รายงานจาก Cisco Systems ปี 2011

หลังจากท้าวความมาตั้งนานมาดูวิธีแก้ไขกันครับ
วิธีการป้องกัน Spam 1. ป้องกันจาก Spammer IPsหลังจากเราโดย spam แล้วส่วนใหญ่เราก็จะได้ ip มาครับ เราจะมา block spam จาก ip กันครับ
โดยส่วนใหญ่แล้วเราจะ block โดยการนำ ip นั้นไปใส่ที่ file .htaccess ครับ
ตัวอย่างเช่น เราโดย spam จาก ip : 198.168.168.168
ให้เราใส่ code ดังต่อไปนี้ ใน file .htaccess ครับ
Deny from 198.168.168.168
หมายถึง จะ block ip นี้ ip เดียว
หรือ
หมายถึง จะ block ip ที่อยู่ในวง 198.168.168 หรือ block ตั้งแต่ 198.168.168.1 - 198.168.168.256 ครับ
หรือ
หมายถึง จะ block ip ที่อยู่ในวง 198.168 หรือ block ได้ 256*256 ip นั้นเอง
วิธีนี้มีข้อดีแล้วข้อเสียครับ
ข้อดี คือ ip อันจะไม่สามารถเข้าได้มาอย่างแน่นอนครับ
ข้อเสีย คือ ถ้ากำหนดกว้างไป ip ใกล้เคียงจะไม่สามารถเข้ามาได้ซึ่ง ip อื่นๆอาจจะเป็น ip ดีๆก็ได้นะครับ
แนะนำให้ block เป็น ip เดียวๆไปก่อนนะครับ
และสำหรับ ip ที่เรา block ไปพอ ip นั้นเข้า website เรามาจะแสดงเป็น 403 error page นะครับ
***เพิ่มเติมนะครับสำหรับใครที่บอกว่าผมไม่เคยโดนเลยแต่ผมอยากป้องกันไว้ก่อนจะหา ip จากไหนดูผมแนะนำอันนี้ครับ
http://www.stopforumspam.com/
web นี้จะมีคนมาช่วยกัน update spam กันรายวันเลยครับ ทั้ง username email และ ip ที่มช้ในการ spam ครับ
แต่จะมีหน้า Top ขอวันอยู่ครับ จะเขียนว่า Hot Spam เช่น

ดังนั้นเราสามารถเข้าไปเอามาใส่ป้องกัน website เราได้ครับ
2. ป้องกัน Spam comment ที่ไม่มีการอ้างอิง หรือ No Referrer Requests สำหรับ Wordpress ปกติแล้ว user จะ comment จะต้องทำผ่าน file wp-comments-post.php โดยจะต้องมีการอ้างอิงจาก user
แต่เมื่อ spam เข้ามาแน่นอนครับจะไม่มีการอ้างอิง
ดังนั้นเราสามารถป้องกันได้โดยนำ code นี้ไปใส่ใน .htaccess ครับ
RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post\.php*
RewriteCond %{HTTP_REFERER} !.*yourdomain.com.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) http://%{REMOTE_ADDR}/$ [R=301,L]
มาดูเพิ่มเติมนะครับว่าคืออะไรบ้าง
1. check ว่ามีการ post
2. check ว่ามีการ post โดย wp-comments-post.php
3. check ว่ามี referrer ไหม?
4. จากนั่นส่ง spam-bot กลับไปที่ ip ที่ถูกส่งมา
เท่านี้เองครับวิธีนี้
3. ป้องกัน Spam โดยใช้ Code PHPวิธีนี้จะเป็นการเพิ่ม code php เข้าไปใน file ที่ต้องการจะป้องกัน ถ้าเป็นไปได้ให้ใส่ไว้บนสุดเลย
<?php
$block = array("xxx.xxx.xxx.xxx", "yyy.yyy.yyy.yyy");
if (in_array ($_SERVER['REMOTE_ADDR'], $block)) {
header("Location: http://google.com/");
exit();
}
?>
โดยให้ใส่ ip ใน array ตามต้องการได้เลยครับแทนที่ xxx.xxx.xxx.xxx และ yyy.yyy.yyy.yyy หรือต่อไปได้เรื่อยๆครับ
ลองนำไปใช้งานดูนะครับ
สำหรับใครทำ amazon ก็สามารถนำไปใช้ block bot ได้นะครับ
เพื่อป้องกัน bot ไม่ให้เข้ามา click หน้าเราเยอะจน conversion ต่ำ
ลองดูนะครับ
***เพิ่มเติมนะครับสำหรับใครจะ block เป็นประเทศๆ ก็เลือกได้เลยจาก
[url]https://www.countryipblocks.net/country_selection.php[/url]
"ลงมือทำ"
by consensus
โพสอื่นๆที่น่าสนใจ
- ขอแชร์ 1 ในเทคนิคการขายของ amazon
http://www.thaiseoboard.com/index.php/topic,256405.0.html 
- มารู้จักหลุมทรายGoogle (google sandbox) และวิธีแก้ไขจากประสบการณ์จริงกันครับ
http://www.thaiseoboard.com/index.php/topic,257350.0.html
- การใช้งาน SEO doctor ครับ สำหรับการตรวจ on page ครับ
http://www.thaiseoboard.com/index.php/topic,256566.0.html