WWW.CODE-FATHER.COM ยินดีต้อนรับทุกๆท่าน

บทความทั้งหมด วิธีใช้งานโปรแกรม PHP CODE FATHER V.2016 Register - ลงทะเบียนโปรแกรม Contact Us - ติดต่อเรา About Us - เกี่ยบกับเรา รับเขียนเว็บ โปรเจ็ค PHP vs MySQL
ติดต่อเข้ามาได้เลยนะครับ ราคากันเอง ไม่เคยทิ้งงาน
งานแก้ งานด่วน งานเร่งสอบถามกันก่อนได้ครับผม...
98831Code Login Logout Php การทำระบบล๊อกอิน ล๊อกเอ้า และป้องกันการลักไก่ แบบละเอียดที่สุด 38127Code Send Email by PHP การส่งอีเมล์ด้วย พีเอสพี 41240Captcha Security Code PHP ใส่รหัสยืนยันก่อนโพสป้องกันการสแปมเว็บเราดีกว่า 68240Php Code Insert to Mysql การเพิ่มข้อมูลใหม่เข้าสู่ฐานข้อมูล 46205PHP CODE FATHER โปรแกรมสร้างโปรเจ็ค PHP + Mysql สร้างโค้ดโปรแกรม php mysql insert update add edit delete ง่ายๆ 33477Download Free Program Php Code Father V.2010 ดาวน์โหลดโปรแกรมฟรี 31495ดาวน์โหลดคู่มือ วิธีใช้งานโปรแกรม Php Code Father V.2010 56834Function Confirm Delete JavaScript การยืนยันก่อนลบข้อมูล ง่าย ๆ แต่สำคัญ 30974PHP Function ECHO Exit ฟังก์ชั่นเล็ก ๆ ที่ไม่ธรรมดา เครื่องมือ DEBUG ชั้นยอด 9487PHP CODE FATHER V.2010 ตัวเต็ม Full ขั้นตอนการสมัครและรายละเอียดการลงทะเบียนใช้งานโปรแกรม 77524Code Search PHP In Mysql Database By Fields การค้นหาข้อมูลในฐานข้อมูล ตามชื่อฟิลด์ 28024แก้ปัญหาการใช้งานฟังก์ชั่น substr ใน php ตัดข้อความภาษาไทยแล้วกลายเป็นภาษาต่างดาว 36553การดาวน์โหลดไฟล์+เทคนิคการตั้งชื่อไฟล์เป็นภาษาไทย PHP Code Download File Thai 44481PHP Function Date Thai การแปลงวันที่จาก ค.ศ. เป็น พ.ศ. วันที่แบบไทย ๆ สำหรับคนไทย 40255การแทรก PHP ใน Javascript เรื่องกล้วย ๆ ที่อาจจะต้องได้ใช้ 37682การแทรก Javascript ใน PHP เรื่องกล้วย ๆ ที่จำเป็นต้องรู้ 52199Php Code Upload File การอัพโหลดไฟล์และการตรวจสอบประเภทของไฟล์ภาพและอื่น ๆ 15167 Single Quote SQL Query Insert update แก้ปัญหาเวลาข้อมูลที่มีเครื่องหมายฟันเดี่ยว (single quote) แล้วไม่ได้ ไม่ผ่าน 14066การใช้งานฟังก์ชั่น substring() ใน javascript และการตรวจสอบจำนวนเงินกับการสั่งซื้ออัลบั้มออนไลน์ 110242คำสั่ง sql Select from Where ,Like ,Order By ที่จำเป็นต้องใช้และต้องใช้บ่อย ๆ 48717code update php to mysql database คำสั่งปรับปรุงข้อมูลในฐานข้อมูล 45431php function number_format ใส่จุดทศนิยมและเครื่องหมายคอมม่าให้ตัวเลข เงิน 38023ง่าย ๆ php auto id การสร้างเลขที่อัตโนมัติก่อนเพิ่มข้อมูลใหม่ 52566Code Redirect URL ด้วย php และ javascript การส่งผู้ใช้ไปหน้าที่เราต้องการ 51655ง่าย ๆ การทำวันที่แบบ List ให้เลือก วัน เดืือน ปี Select Option List Date 93003Code PHP Popup การป๊อปอัพหน้าต่างใหม่โดยใช้ Javascript 47187เทคนิค...การทำให้ Textbox กรอกหรือป้อนได้เฉพาะตัวเลขด้วย Javascript ง่ายๆ 44652Step 1 สร้างเว็บบอร์ดแบบบ้านๆ ด้วย PHP Webboard Script 34553เทคนิคการแสดงและซ่อน div, table และอื่น ๆ ด้วย Javascript Show and Hide DIV or TABLE 51388Step 2 ฐานข้อมูล สร้างเว็บบอร์ดแบบบ้านๆ ด้วย PHP Webboard Script 90634ปัญหาการแสดงผลตารางบน Internet Explorer เพี้ยน Table ie7 Error 20940การเชื่อมต่อฐานข้อมูล PHP+MySQL และวิธีแก้ไขปัญหาภาษาไทยผิดเพี้ยน กลายเป็นภาษาต่างดาว 34023วิธีแก้ปัญหา Internal Server Error ตอนรัน PHP กับ Apache Server MSQL 34345แปลงตัวเลขให้เป็นตัวอักษรภาษาไทย PHP Code Thai BathText 37044php easy calculator เครื่องคิดเลขอย่างง่าย บวก ลบ คูณ หาร 31761php easy calculator with Ajax เครื่องคิดเลขอย่างง่าย บวก ลบ คูณ หาร ภาคต่อ 181301ทำระบบล๊อกอินอย่างง่าย ด้วย PHP Login with Mysql Data Base 10867Step 3 โค้ดเว็บบอร์ดแบบง่าย ๆ พร้อมใช้งาน PHP Webboard Script 41358โค้ดการเลือกจังหวัด อำเภอ ตำบล ด้วย Ajax vs Code PHP select Provicne Umphur District 76250(ภาคต่อ แก้ไข อัพเดท) โค้ดการเลือกจังหวัด อำเภอ ตำบล ด้วย Ajax Code PHP select Provicne Umphur District with Edit 24265แก้ปัญหาPHP อัพขึ้น Host แล้วใช้งานไม่ได้ ไม่ส่งค่าตัวแปรแต่ที่เครื่อง localhost ใช้ได้ 162482PHP Random Number+String สุ่มตัวเลขตัวอักษรหรือตัวหนังสือไม่ซ้ำอย่างง่าย 126227โค้ดระบบแบ่งหน้า เพิ่ม ลบ แก้ไข และค้นหาตามรายชื่อฟิลด์ในหน้าเดียว 79095ติ๊กถูก Checkbox ยอมรับเงื่อนไขแล้วปุ่ม submit ขึ้นให้คลิก 18945แก้ปัญหา warning session_start() function.session-start cannot send session cache limiter 36322การใช้งานโปรแกรม php code father สร้างไฟล์ php แสดงข้อมูล เพิ่ม ลบ แก้ไข ค้นหา แบ่งหน้า 344444ฝึกเขียนโค้ด php โปรแกรมจำลองการถอนเงินจากตู้ ATM 202702สอนเขียน PHP แบบฮาๆ ตอน 1 ติดตั้งโปรแกรมพร้อมใช้งานเบื้องต้น 71235การแบ่งหน้า Boostrap Pagination PHP+MySql ง่าย ๆแบบจับมือทำ 27990Easy Code PHP Check Device โค้ดตรวจสอบประเภทอุปกรณ์ที่กำลังใช้งานเว็บไซต์ 9277สอน PHP สร้าง Webboard ตอน 1 สร้างฐานข้อมูล Mysql 14491สอน PHP Webboard ตอน#2 เชื่อมต่อฐานข้อมูล Connect Mysql DataBase 198907สอน PHP Webboard ตอน#3 ระบบล๊อกอิน Login เข้าสู่ระบบ 28769มาแล้วครับ PHP CODE FATHER V.2016 ร่วมกับ Boostrap 51695วิธีแก้ปัญหา Xampp เข้า phpMyadmin ไม่ได้
1# Captcha Security Code PHP ใส่รหัสยืนยันก่อนโพสป้องกันการสแปมเว็บเราดีกว่า
Captcha Security Code PHP ใส่รหัสยืนยันก่อนโพสป้องกันการสแปมเว็บเราดีกว่า
คิดว่าทุก ๆ คนคงจะเคยเห็นกันนะครับ เวลาที่เราจะสมัครสมาชิก หรือไปโพสคอมเมนท์บล๊อกของใครเขา
ก็จะมีรหัสให้กรอกยืนยันก่อนการส่งข้อมูล ทั้งนี้ก็เพื่อเป็นการป้องกันการสแปมนั่นเองครับ

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

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

ดังนั้นเราจึงต้องมาทำความรู้จักกับการทำ Captcha Security Code กันในวันนี้ครับ
เอาแต่เนื้อ ๆ นะครับ น้ำไม่ชอบ เดี๋ยวกันจะเยอะ ทำให้รกเสียเปล่า ๆ

ขั้นตอนและกระบวนการ

1. เราจะทำการสุ่มรหัสลับออกมา (จะเอาตัวอักษร ตัวเลข หรือผสมกันก็สุดแล้วแต่)
2.จากนั้นเราก็จะแปลงรหัสนั้นให้เป็นไฟล์ภาพ (เพื่อป้องกันอีกชั้นนึ่ง และทำให้ยากขึ้นไปอีก เพราะถ้าเราทำเพียงแค่ตัวอักษรแปะไว้ข้าง ๆ เขาก็ก๊อปวางได้ แต่ถ้าทำเป็นรูปภาพแล้วหล่ะก็ ยังไงก็ต้องพิมพ์เองใช่ไหมครับ 5555+)

มาดูโค้ดกัีนเลยดีกว่า


	function createRandomPassword() { // ฟังก์ชั่นสำหรับสุ่มรหัสลับ
srand( date("s") );
    $chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; // ตัวแปรที่จะทำการสุ่ม จะเป็นตัวเลข ตัวเล็ก ตัวใหญ่ หรือผสมกันไปก็ใส่เพิ่มเอาเอง
    $ret_str = "";
    $num = strlen($chars);
    for($i=0; $i < 6; $i++) {
        $ret_str.= $chars[rand()%$num]." ";// สุ่มเอามาสัก 6 ตัว 0 ถึง 5 ก็ 6 นั่นหล่ะน่าาา
    }
    return $ret_str;
}

     $text = createRandomPassword(); // เรียกใช้หังก์ชั้นสุ่มรหัสลับ แล้วมาเก็บค่าไว้ในตัวแปร $text      echo ''; // ตรงนี้สำหรับเก็บค่าตัวแปรที่ได้เพื่อส่งไปทำการตรวจเช็คกับ รหัสลับ ที่ผู้ใช้กรอก ว่าถูกต้องตรงกันหรือไม่
     $font_size = 20;
     $height = 20;
     $width = 100;

   // ข้างล่างนี้เป็นการสร้างภาพและเอารหัสลับที่ได้ยัดใส่เข้าไปอยู่ในภาพที่สร้าง สามารถปรับเปลี่ยนได้นะครับ
     $im = ImageCreate($width, $height);
     $grey = ImageColorAllocate($im, 230, 230, 230);
     $black = ImageColorAllocate($im, 0, 0, 0);
   
     $text_bbox = ImageTTFBBox($font_size, 0, "ANGSAZ.TTF", $text); // อย่าลืมก๊อปไฟล์ฟอร์นมาไว้ในโฟลเดอร์ด้วยนะ ไม่งั้นจะไม่แสดงผล
     $image_centerx = $width / 2;
     $image_centery = $height / 2;
     $text_x = $image_centerx - round(($text_bbox[4]/2));
     $text_y = $image_centery + 5;
     //$text_y = $image_centery;
   
     ImageTTFText($im, $font_size, 0, $text_x, $text_y, $black, "ANGSAZ.TTF", $text);
     ImagePng($im,"image-code.png");
     ImageDestroy ($im);

     echo ""; >// และสุดท้ายก็แสดงผลรูปภาพออกมา
?>


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

onSubmit="return Check_txt()" enctype="multipart/form-data">



ส่วนของฟังก์ชั่นตรวจเช็คความถูกต้อง

*** แล้ว document.getElementById('code_chk').value มันมาจากไหนหว่าาาาาาาา
อันนี้ผมเอาไปยัดไว้ตอนสุ่มรหัสนู้น ครับ (สีน้ำเงิน) แต่ถ้าใครไม่ชอบแบบนี้ก็ย้ายมันไปไว้ที่อื่นก็ได้ไม่ว่ากันครับ


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