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

บทความทั้งหมด วิธีใช้งานโปรแกรม PHP CODE FATHER V.2016 Register - ลงทะเบียนโปรแกรม Contact Us - ติดต่อเรา About Us - เกี่ยบกับเรา รับเขียนเว็บ โปรเจ็ค PHP vs MySQL
ติดต่อเข้ามาได้เลยนะครับ ราคากันเอง ไม่เคยทิ้งงาน
งานแก้ งานด่วน งานเร่งสอบถามกันก่อนได้ครับผม...
103447Code Login Logout Php การทำระบบล๊อกอิน ล๊อกเอ้า และป้องกันการลักไก่ แบบละเอียดที่สุด 39373Code Send Email by PHP การส่งอีเมล์ด้วย พีเอสพี 42145Captcha Security Code PHP ใส่รหัสยืนยันก่อนโพสป้องกันการสแปมเว็บเราดีกว่า 70465Php Code Insert to Mysql การเพิ่มข้อมูลใหม่เข้าสู่ฐานข้อมูล 47500PHP CODE FATHER โปรแกรมสร้างโปรเจ็ค PHP + Mysql สร้างโค้ดโปรแกรม php mysql insert update add edit delete ง่ายๆ 34306Download Free Program Php Code Father V.2010 ดาวน์โหลดโปรแกรมฟรี 32230ดาวน์โหลดคู่มือ วิธีใช้งานโปรแกรม Php Code Father V.2010 59203Function Confirm Delete JavaScript การยืนยันก่อนลบข้อมูล ง่าย ๆ แต่สำคัญ 31976PHP Function ECHO Exit ฟังก์ชั่นเล็ก ๆ ที่ไม่ธรรมดา เครื่องมือ DEBUG ชั้นยอด 10384PHP CODE FATHER V.2010 ตัวเต็ม Full ขั้นตอนการสมัครและรายละเอียดการลงทะเบียนใช้งานโปรแกรม 81310Code Search PHP In Mysql Database By Fields การค้นหาข้อมูลในฐานข้อมูล ตามชื่อฟิลด์ 28848แก้ปัญหาการใช้งานฟังก์ชั่น substr ใน php ตัดข้อความภาษาไทยแล้วกลายเป็นภาษาต่างดาว 37651การดาวน์โหลดไฟล์+เทคนิคการตั้งชื่อไฟล์เป็นภาษาไทย PHP Code Download File Thai 46351PHP Function Date Thai การแปลงวันที่จาก ค.ศ. เป็น พ.ศ. วันที่แบบไทย ๆ สำหรับคนไทย 41833การแทรก PHP ใน Javascript เรื่องกล้วย ๆ ที่อาจจะต้องได้ใช้ 38903การแทรก Javascript ใน PHP เรื่องกล้วย ๆ ที่จำเป็นต้องรู้ 53985Php Code Upload File การอัพโหลดไฟล์และการตรวจสอบประเภทของไฟล์ภาพและอื่น ๆ 15442 Single Quote SQL Query Insert update แก้ปัญหาเวลาข้อมูลที่มีเครื่องหมายฟันเดี่ยว (single quote) แล้วไม่ได้ ไม่ผ่าน 14184การใช้งานฟังก์ชั่น substring() ใน javascript และการตรวจสอบจำนวนเงินกับการสั่งซื้ออัลบั้มออนไลน์ 118211คำสั่ง sql Select from Where ,Like ,Order By ที่จำเป็นต้องใช้และต้องใช้บ่อย ๆ 50237code update php to mysql database คำสั่งปรับปรุงข้อมูลในฐานข้อมูล 47260php function number_format ใส่จุดทศนิยมและเครื่องหมายคอมม่าให้ตัวเลข เงิน 40726ง่าย ๆ php auto id การสร้างเลขที่อัตโนมัติก่อนเพิ่มข้อมูลใหม่ 54483Code Redirect URL ด้วย php และ javascript การส่งผู้ใช้ไปหน้าที่เราต้องการ 53234ง่าย ๆ การทำวันที่แบบ List ให้เลือก วัน เดืือน ปี Select Option List Date 96116Code PHP Popup การป๊อปอัพหน้าต่างใหม่โดยใช้ Javascript 51128เทคนิค...การทำให้ Textbox กรอกหรือป้อนได้เฉพาะตัวเลขด้วย Javascript ง่ายๆ 45561Step 1 สร้างเว็บบอร์ดแบบบ้านๆ ด้วย PHP Webboard Script 36384เทคนิคการแสดงและซ่อน div, table และอื่น ๆ ด้วย Javascript Show and Hide DIV or TABLE 52239Step 2 ฐานข้อมูล สร้างเว็บบอร์ดแบบบ้านๆ ด้วย PHP Webboard Script 91375ปัญหาการแสดงผลตารางบน Internet Explorer เพี้ยน Table ie7 Error 22196การเชื่อมต่อฐานข้อมูล PHP+MySQL และวิธีแก้ไขปัญหาภาษาไทยผิดเพี้ยน กลายเป็นภาษาต่างดาว 35937วิธีแก้ปัญหา Internal Server Error ตอนรัน PHP กับ Apache Server MSQL 35436แปลงตัวเลขให้เป็นตัวอักษรภาษาไทย PHP Code Thai BathText 38358php easy calculator เครื่องคิดเลขอย่างง่าย บวก ลบ คูณ หาร 32535php easy calculator with Ajax เครื่องคิดเลขอย่างง่าย บวก ลบ คูณ หาร ภาคต่อ 184454ทำระบบล๊อกอินอย่างง่าย ด้วย PHP Login with Mysql Data Base 12559Step 3 โค้ดเว็บบอร์ดแบบง่าย ๆ พร้อมใช้งาน PHP Webboard Script 42880โค้ดการเลือกจังหวัด อำเภอ ตำบล ด้วย Ajax vs Code PHP select Provicne Umphur District 77114(ภาคต่อ แก้ไข อัพเดท) โค้ดการเลือกจังหวัด อำเภอ ตำบล ด้วย Ajax Code PHP select Provicne Umphur District with Edit 26682แก้ปัญหาPHP อัพขึ้น Host แล้วใช้งานไม่ได้ ไม่ส่งค่าตัวแปรแต่ที่เครื่อง localhost ใช้ได้ 163853PHP Random Number+String สุ่มตัวเลขตัวอักษรหรือตัวหนังสือไม่ซ้ำอย่างง่าย 127603โค้ดระบบแบ่งหน้า เพิ่ม ลบ แก้ไข และค้นหาตามรายชื่อฟิลด์ในหน้าเดียว 80396ติ๊กถูก Checkbox ยอมรับเงื่อนไขแล้วปุ่ม submit ขึ้นให้คลิก 19702แก้ปัญหา warning session_start() function.session-start cannot send session cache limiter 37119การใช้งานโปรแกรม php code father สร้างไฟล์ php แสดงข้อมูล เพิ่ม ลบ แก้ไข ค้นหา แบ่งหน้า 346133ฝึกเขียนโค้ด php โปรแกรมจำลองการถอนเงินจากตู้ ATM 203415สอนเขียน PHP แบบฮาๆ ตอน 1 ติดตั้งโปรแกรมพร้อมใช้งานเบื้องต้น 72343การแบ่งหน้า Boostrap Pagination PHP+MySql ง่าย ๆแบบจับมือทำ 28738Easy Code PHP Check Device โค้ดตรวจสอบประเภทอุปกรณ์ที่กำลังใช้งานเว็บไซต์ 10124สอน PHP สร้าง Webboard ตอน 1 สร้างฐานข้อมูล Mysql 14491สอน PHP Webboard ตอน#2 เชื่อมต่อฐานข้อมูล Connect Mysql DataBase 198907สอน PHP Webboard ตอน#3 ระบบล๊อกอิน Login เข้าสู่ระบบ 29498มาแล้วครับ PHP CODE FATHER V.2016 ร่วมกับ Boostrap 104735วิธีแก้ปัญหา Xampp เข้า phpMyadmin ไม่ได้ 35501สอนเขียนโค้ด PHP แบบจับมือทำ #1 เชื่อมฐานข้อมูลและแสดงผลข้อมูล
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 มันมาจากไหนหว่าาาาาาาา
อันนี้ผมเอาไปยัดไว้ตอนสุ่มรหัสนู้น ครับ (สีน้ำเงิน) แต่ถ้าใครไม่ชอบแบบนี้ก็ย้ายมันไปไว้ที่อื่นก็ได้ไม่ว่ากันครับ


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